Modularity Measurement and Evolution in Object-Oriented Open-Source Projects

Throughout the software evolution, several maintenance actions such as adding new features, fixing problems, improving the design might negatively or positively affect the software design quality. Quality degradation, if not handled in the right time, can accumulate and cause serious problems for future maintenance effort. In this work, we study the modularity evolution of two open-source systems by answering two main research questions namely: what measures can be used to measure the modularity level of software and secondly, did the modularity level for the selected open source software improves over time. By investigating the modularity measures, we have identified the main measures that can be used to measure software modularity. Based on our analysis, the modularity of these two systems is not improving over time.

[1]  Yuanfang Cai,et al.  Analyzing the Evolution of Large-Scale Software Systems Using Design Structure Matrices and Design Rule Theory: Two Exploratory Cases , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[2]  Kim B. Clark,et al.  Design Rules: The Power of Modularity Volume 1 , 1999 .

[3]  Frank Tsui,et al.  Essentials of software engineering , 2006 .

[4]  Yuanfang Cai,et al.  Detecting software modularity violations , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  TurhanBurak,et al.  Empirical evaluation of the effects of mixed project data on learning defect predictors , 2013 .

[6]  Yann-Gaël Guéhéneuc,et al.  Studying software evolution of large object‐oriented software systems using an ETGM algorithm , 2013, J. Softw. Evol. Process..

[7]  Mourad Badri,et al.  Empirical Analysis of Object-Oriented Design Metrics: Towards a New Metric Using Control Flow Paths and Probabilities , 2009, J. Object Technol..

[8]  Yuanyuan Song,et al.  Automatic modularity conformance checking , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[9]  Renata M. C. R. de Souza,et al.  Classifying metrics for assessing Object-Oriented Software Maintainability: A family of metrics' catalogs , 2015, J. Syst. Softw..

[10]  Young Lee,et al.  Metrics and Evolution in Open Source Software , 2007 .

[11]  Alan MacCormack,et al.  Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code , 2006, Manag. Sci..

[12]  Ivica Crnkovic,et al.  Software architecture evolution through evolvability analysis , 2012, J. Syst. Softw..

[13]  Mark Aberdour A people-focused , 2022 .

[14]  Ayse Basar Bener,et al.  Empirical evaluation of the effects of mixed project data on learning defect predictors , 2013, Inf. Softw. Technol..

[15]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[16]  Muhammad Ali Babar,et al.  A Systematic Review of Studies of Open Source Software Evolution , 2010, 2010 Asia Pacific Software Engineering Conference.

[17]  Saudi Arabia,et al.  Fault-Proneness of Open Source Systems: An Empirical Analysis , 2014 .

[18]  Katherine J. Stewart,et al.  Exploring Complexity in Open Source Software: Evolutionary Patterns, Antecedents, and Outcomes , 2010, 2010 43rd Hawaii International Conference on System Sciences.

[19]  D. V. Steward,et al.  The design structure system: A method for managing the design of complex systems , 1981, IEEE Transactions on Engineering Management.

[20]  Marian Jureczko,et al.  Using Object-Oriented Design Metrics to Predict Software Defects 1* , 2010 .

[21]  Saudi Arabia,et al.  Empirical Analysis of the Complexity Evolution in Open-Source Software Systems , 2015 .

[22]  Kim B. Clark,et al.  Design Rules: The Power of Modularity , 2000 .

[23]  Tim Menzies,et al.  Class level fault prediction using software clustering , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[24]  Iulian Neamtiu,et al.  Towards a better understanding of software evolution: An empirical study on open source software , 2009, 2009 IEEE International Conference on Software Maintenance.

[25]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[26]  Tom Mens,et al.  Future trends in software evolution metrics , 2001, IWPSE '01.

[27]  Grady Booch,et al.  Object-oriented analysis and design with applications, third edition , 2007, SOEN.

[28]  Michael W. Godfrey,et al.  On the evolution of Lehman's Laws , 2014, J. Softw. Evol. Process..

[29]  Stefan Koch Software evolution in open source projects—a large-scale investigation , 2007 .