Architecture Smells and Pareto Principle: A Preliminary Empirical Exploration

被引:8
作者
Chaniotaki, Alexandra-Maria [1 ]
Sharma, Tushar [2 ]
机构
[1] Athens Univ Econ & Business, Athens, Greece
[2] Siemens Technol, Charlotte, NC USA
来源
2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021) | 2021年
关键词
Architecture smells; Pareto principle;
D O I
10.1109/MSR52588.2021.00031
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Architecture smells represent violations of best practices recommended for software architecture that adversely impact various quality attributes of a software system. Though architecture quality is considered very important by the software engineering community, architecture refactoring, given involved high risk and effort, is often avoided by software development teams. In this paper, we empirically explore the properties of architecture smells in the context of the Pareto principle. We investigate the degree of adherence of architecture smell occurrences to the Pareto principle and explore the influence of other related factors i.e., programming language and size of the repositories. To this end, we analyzed 750 Java and 361 C# repositories containing more than 50 million lines of code to detect seven kinds of architecture smells. We found that approximately 45% of the Java repositories follow the Pareto principle. Moreover, C# repositories show significantly higher adherence (66%) to the principle than the repositories written in Java. Our results indicate that the size of the repositories shows a low negative correlation with the Pareto categories. The results imply that software development teams can figure out a few vital components suffering from architecture smells by carrying out the Pareto analysis. It will allow them to optimize their efforts towards making their software architecture quality better.
引用
收藏
页码:190 / 194
页数:5
相关论文
共 41 条
[21]  
Kaplow Lewis., 1999, American Law and Economics Review, V1, P63
[22]   Technical Debt: From Metaphor to Theory and Practice INTRODUCTION [J].
Kruchten, Philippe ;
Nord, Robert L. ;
Ozkaya, Ipek .
IEEE SOFTWARE, 2012, 29 (06) :18-21
[23]  
Lippert Martin, 2006, Refactoring in Large Software Projects: Performing Complex Restructurings Successfull
[24]   Prioritization of Classes for Refactoring: A Step towards Improvement in Software Quality [J].
Malhotra, Ruchika ;
Chug, Anuradha ;
Khosla, Priyanka .
PROCEEDING OF THE THIRD INTERNATIONAL SYMPOSIUM ON WOMEN IN COMPUTING AND INFORMATICS (WCI-2015), 2015, :228-234
[25]   Identifying and Prioritizing Architectural Debt Through Architectural Smells: A Case Study in a Large Software Company [J].
Martini, Antonio ;
Fontana, Francesca Arcelli ;
Biaggi, Andrea ;
Roveda, Riccardo .
SOFTWARE ARCHITECTURE (ECSA 2018), 2018, 11048 :320-335
[26]   Architecture Anti-Patterns: Automatically Detectable Violations of Design Principles [J].
Mo, Ran ;
Cai, Yuanfang ;
Kazman, Rick ;
Xiao, Lu ;
Feng, Qiong .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (05) :1008-1028
[27]   Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells [J].
Mo, Ran ;
Cai, Yuanfang ;
Kazman, Rick ;
Xiao, Lu .
2015 12TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA), 2015, :51-60
[28]   Two case studies of open source software development: Apache and Mozilla [J].
Mockus, A ;
Fielding, RT ;
Herbsleb, JD .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2002, 11 (03) :309-346
[29]   A systematic mapping study on architectural smells detection [J].
Mumtaz, Haris ;
Singh, Paramvir ;
Blincoe, Kelly .
JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 173
[30]   Curating GitHub for engineered software projects [J].
Munaiah, Nuthan ;
Kroh, Steven ;
Cabrey, Craig ;
Nagappan, Meiyappan .
EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (06) :3219-3253