TY - GEN
T1 - Evolution of feature-oriented software
T2 - 9th International Joint Conference on Software Technologies, ICSOFT 2014
AU - Olszak, Andrzej
AU - Lazarova-Molnar, Sanja
AU - Jørgensen, Bo Nørregaard
PY - 2015/1/1
Y1 - 2015/1/1
N2 - 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.
AB - 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.
KW - Feature-oriented modularization
KW - Remodularization
KW - Software comprehension
KW - Software evolution
UR - http://www.scopus.com/inward/record.url?scp=84951069427&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84951069427&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-25579-8_11
DO - 10.1007/978-3-319-25579-8_11
M3 - Conference contribution
AN - SCOPUS:84951069427
SN - 9783319255781
SN - 9783319255781
T3 - Communications in Computer and Information Science
SP - 183
EP - 201
BT - Software Technologies - 9th International Joint Conference, ICSOFT 2014, Revised Selected Papers
A2 - Cardoso, Jorge
A2 - Maciaszek, Leszek A.
A2 - Holzinger, Andreas
A2 - Libourel, Therese
A2 - Cordeiro, Jose
A2 - Holzinger, Andreas
A2 - van Sinderen, Marten
A2 - Libourel, Therese
A2 - Maciaszek, Leszek A.
A2 - Cardoso, Jorge
A2 - Cordeiro, Jose
A2 - van Sinderen, Marten
PB - Springer Verlag
Y2 - 29 August 2014 through 31 August 2014
ER -