论文标题

关于建筑气味的演变和影响 - 一种工业案例研究

On the evolution and impact of Architectural Smells -- An industrial case study

论文作者

Sas, Darius, Avgeriou, Paris, Uyumaz, Umut

论文摘要

建筑气味(AS)臭名昭著,因为它们对软件系统的可维护性和可变性的长期影响。大多数研究工作通过开源Java Systems的挖掘软件存储库来调查了该主题,这使得很难概括并将其应用于工业环境和其他编程语言。为了解决这一研究差距,我们与大型行业合作伙伴合作进行了嵌入式多案例研究,以研究如何在工业嵌入式系统中进化。我们检测到和跟踪,如9 c/c ++项目中的每个项目,每个项目都有超过30个发行版的开发项目,仅在上一个版本中,有超过2000万行的代码。除了这些定量结果外,我们还采访了从事这些项目的开发人员和建筑师中的12,收集了超过六个小时的定性数据,这些数据及其在维护和不断影响AS的工件的同时遇到的问题及其所遇到的问题。我们的定量发现表明,随着时间的流逝,各个气味的实例如何发展,它们通常在系统中生存了多长时间,它们与其他气味类型的实例重叠以及最终在重叠时的闻到的气味顺序是什么。取而代之的是,我们的定性发现提供了有关AS对系统的长期可维护性和发展性的影响的见解,并由我们的访谈中的几个摘录提供了支持。从业人员还提到了AS分析的哪些部分实际上提供了可行的见解,他们可以用来计划重构活动。

Architectural smells (AS) are notorious for their long-term impact on the Maintainability and Evolvability of software systems. The majority of research work has investigated this topic by mining software repositories of open source Java systems, making it hard to generalise and apply them to an industrial context and other programming languages. To address this research gap, we conducted an embedded multiple-case case study, in collaboration with a large industry partner, to study how AS evolve in industrial embedded systems. We detect and track AS in 9 C/C++ projects with over 30 releases for each project that span over two years of development, with over 20 millions lines of code in the last release only. In addition to these quantitative results, we also interview 12 among the developers and architects working on these projects, collecting over six hours of qualitative data about the usefulness of AS analysis and the issues they experienced while maintaining and evolving artefacts affected by AS. Our quantitative findings show how individual smell instances evolve over time, how long they typically survive within the system, how they overlap with instances of other smell types, and finally what the introduction order of smell types is when they overlap. Our qualitative findings, instead, provide insights on the effects of AS on the long-term maintainability and evolvability of the system, supported by several excerpts from our interviews. Practitioners also mention what parts of the AS analysis actually provide actionable insights that they can use to plan refactoring activities.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源