An Empirical Study of Architectural Decay in Open-Source Software

D. Le, Daniel Link, Arman Shahbazian, N. Medvidović
{"title":"An Empirical Study of Architectural Decay in Open-Source Software","authors":"D. Le, Daniel Link, Arman Shahbazian, N. Medvidović","doi":"10.1109/ICSA.2018.00027","DOIUrl":null,"url":null,"abstract":"Architecture is the set of principal design decisions about a software system. In practice, new architectural decisions are added and existing ones reversed or modified throughout a system’s lifetime. Frequently, these decisions deviate from the architect's well-considered intent, and software systems regularly exhibit increased architectural decay as they evolve. The manifestations of such ill-considered design decisions are seen as “architectural smells”. To date, there has been no in-depth study of the characteristics or trends involving this phenomenon. Instead, when referring to architectural smells and their negative effects, both researchers and practitioners had to rely on folklore and their personal, inherently limited experience. In this paper, we report on the systematic step we have taken in investigating the nature and impact of architectural smells. We have selected a set of representative architectural smells from literature and analyzed their instances in 421 versions from 8 open-source software systems. We have (1) developed algorithms to automatically detect instances of multiple architectural smell types, and (2) analyzed relationships between the detected smells and the lists of issues reported in the systems’ respective issue trackers. Our study shows that architectural smells have tangible negative consequences in the form of implementation issues as well as code commits requiring increased maintenance effort throughout a system’s lifetime.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"73","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE International Conference on Software Architecture (ICSA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA.2018.00027","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 73

Abstract

Architecture is the set of principal design decisions about a software system. In practice, new architectural decisions are added and existing ones reversed or modified throughout a system’s lifetime. Frequently, these decisions deviate from the architect's well-considered intent, and software systems regularly exhibit increased architectural decay as they evolve. The manifestations of such ill-considered design decisions are seen as “architectural smells”. To date, there has been no in-depth study of the characteristics or trends involving this phenomenon. Instead, when referring to architectural smells and their negative effects, both researchers and practitioners had to rely on folklore and their personal, inherently limited experience. In this paper, we report on the systematic step we have taken in investigating the nature and impact of architectural smells. We have selected a set of representative architectural smells from literature and analyzed their instances in 421 versions from 8 open-source software systems. We have (1) developed algorithms to automatically detect instances of multiple architectural smell types, and (2) analyzed relationships between the detected smells and the lists of issues reported in the systems’ respective issue trackers. Our study shows that architectural smells have tangible negative consequences in the form of implementation issues as well as code commits requiring increased maintenance effort throughout a system’s lifetime.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
开源软件架构衰减的实证研究
体系结构是关于软件系统的主要设计决策的集合。在实践中,在整个系统的生命周期中,会添加新的体系结构决策,而撤消或修改现有的决策。通常,这些决策偏离了架构师深思熟虑的意图,并且软件系统在发展过程中经常表现出越来越多的架构衰退。这种考虑不周的设计决策的表现形式被视为“建筑气味”。迄今为止,还没有对这一现象的特点或趋势进行深入的研究。相反,当提到建筑气味及其负面影响时,研究人员和实践者都不得不依赖民间传说和他们个人的、固有的有限经验。在本文中,我们报告了我们在调查建筑气味的性质和影响方面所采取的系统步骤。我们从文献中选择了一组具有代表性的架构气味,并在8个开源软件系统的421个版本中分析了它们的实例。我们已经(1)开发了自动检测多种架构气味类型实例的算法,(2)分析了检测到的气味与系统各自的问题跟踪器中报告的问题列表之间的关系。我们的研究表明,体系结构气味以实现问题的形式以及在整个系统生命周期中需要增加维护工作的代码提交的形式具有明显的负面影响。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Migrating Towards Microservice Architectures: An Industrial Survey An Expert Recommendation System for Design Decision Making: Who Should be Involved in Making a Design Decision? A Generic and Highly Scalable Framework for the Automation and Execution of Scientific Data Processing and Simulation Workflows Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach Predicting the Performance of Privacy-Preserving Data Analytics Using Architecture Modelling and Simulation
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1