Abstract
Successful software systems have to adapt to the evolving needs of their users. However, adding and extending functional features often becomes more difficult over time due to aggregated complexity and eroded modularity. This erosion can be quantified by measuring scattering and tangling of feature implementations in the source code, to track long-term regressions and to plan refactorings. This paper argues that the traditional usage of only the absolute values of modularity metrics is, however, insufficient and proposes to use their relative values instead. These relative values are referred to as the drift of featureoriented modularity, and are defined as the distance between the actual metric values for a given source code and their values achievable for the source code's ideally modularized counterpart. The proposed approach, called modularization compass, computes the modularity drift by optimizing the feature-oriented modularization of source code based on traceability links between features and source code. The optimized modularizations are created automatically by transforming the groupings of classes into packages, which is guided by a multi-objective grouping genetic algorithm. The proposed approach was evaluated by application to long-term release histories of three open-source Java applications.
Original language | English |
---|---|
Title of host publication | ICSOFT-EA 2014 : Proceedings of the 9th International Conference on Software Engineering and Applications |
Editors | Andreas Holzinger, Therese Libourel, Leszek Maciaszek, Stephen Mellor |
Publisher | SCITEPRESS Digital Library |
Publication date | 2014 |
Pages | 48-59 |
ISBN (Electronic) | 978-989758036-9 |
DOIs | |
Publication status | Published - 2014 |
Event | 9th International Conference on Software Engineering and Applications - Vienna, Austria Duration: 29. Aug 2014 → 31. Aug 2014 |
Conference
Conference | 9th International Conference on Software Engineering and Applications |
---|---|
Country/Territory | Austria |
City | Vienna |
Period | 29/08/2014 → 31/08/2014 |
Keywords
- Features
- Measurement
- Modularity
- Software evolution