Abstract
With time software systems easily become obsolete if not updated to reflect
the ever-changing needs of their users. This update process is far from trivial as
each feature is not necessarily captured by a single module, but rather scattered
across a number of different modules. The situation is further aggravated by the
fact that a module can encompass a number of different features. Our goal is to
measure and evaluate how easy it is to trace back and update a given piece of
software based on its modularity. Modularity is known as the degree to which a
system's components may be separated and recombined. The approach that we
propose is based on the idea of using relative, as opposed to absolute, modularity
metrics that measure 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 approach, termed 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.
the ever-changing needs of their users. This update process is far from trivial as
each feature is not necessarily captured by a single module, but rather scattered
across a number of different modules. The situation is further aggravated by the
fact that a module can encompass a number of different features. Our goal is to
measure and evaluate how easy it is to trace back and update a given piece of
software based on its modularity. Modularity is known as the degree to which a
system's components may be separated and recombined. The approach that we
propose is based on the idea of using relative, as opposed to absolute, modularity
metrics that measure 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 approach, termed 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 | Software Technologies : 9th International Joint Conference, ICSOFT 2014, Vienna, Austria, August 29-31, 2014, Revised Selected Papers |
Editors | Andreas Holzinger, Jorge Cardoso, José Cordeiro, Therese Libourel, Leszek A. Maciaszek, Marten van Sinderen |
Publisher | Springer |
Publication date | 17. Oct 2015 |
Pages | 183-201 |
ISBN (Print) | 978-3-319-25578-1 |
ISBN (Electronic) | 978-3-319-25579-8 |
DOIs | |
Publication status | Published - 17. Oct 2015 |
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 |
Series | Communications in Computer and Information Science |
---|---|
Volume | 555 |
ISSN | 1865-0929 |
Keywords
- Feature-oriented modularization
- Remodularization
- Software comprehension
- Software evolution