TY - GEN
T1 - Software product line extraction from variability-rich systems
T2 - 22nd International Systems and Software Product Line Conference, SPLC 2018
AU - Martinez, Jabier
AU - Tërnava, Xhevahire
AU - Ziadi, Tewfik
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/8/20
Y1 - 2018/8/20
N2 - The engineering of a Software Product Line (SPL), either by creating it from scratch or through the re-engineering of existing variants, it uses to be a project that spans several years with a high investment. It is often hard to analyse and quantify this investment, especially in the context of extractive SPL adoption when the related software variants are independently created by different developers following different system architectures and implementation conventions. This paper reports an experience on the creation of an SPL by reengineering system variants implemented around an educational game called Robocode. The objective of this game is to program a bot (a battle tank) that battles against the bots of other developers. The world-wide Robocode community creates and maintains a large base of knowledge and implementations that are mainly organized in terms of features, although not presented as an SPL. Therefore, a group of master students analysed this variability-rich domain and extracted a Robocode SPL. We present the results of such extraction augmented with an analysis and a quantification regarding the spent time and effort. We believe that the results and the a-posteriori analysis can provide insights on global challenges on SPL adoption. We also provide all the elements to SPL educators to reproduce the teaching activity, and we make available this SPL to be used for any research purpose.
AB - The engineering of a Software Product Line (SPL), either by creating it from scratch or through the re-engineering of existing variants, it uses to be a project that spans several years with a high investment. It is often hard to analyse and quantify this investment, especially in the context of extractive SPL adoption when the related software variants are independently created by different developers following different system architectures and implementation conventions. This paper reports an experience on the creation of an SPL by reengineering system variants implemented around an educational game called Robocode. The objective of this game is to program a bot (a battle tank) that battles against the bots of other developers. The world-wide Robocode community creates and maintains a large base of knowledge and implementations that are mainly organized in terms of features, although not presented as an SPL. Therefore, a group of master students analysed this variability-rich domain and extracted a Robocode SPL. We present the results of such extraction augmented with an analysis and a quantification regarding the spent time and effort. We believe that the results and the a-posteriori analysis can provide insights on global challenges on SPL adoption. We also provide all the elements to SPL educators to reproduce the teaching activity, and we make available this SPL to be used for any research purpose.
KW - Education
KW - Extractive software product line adoption
KW - Reverse-engineering
KW - Robocode
KW - Software product lines
UR - http://www.scopus.com/inward/record.url?scp=85055535320&partnerID=8YFLogxK
U2 - 10.1145/3233027.3233038
DO - 10.1145/3233027.3233038
M3 - Conference contribution
AN - SCOPUS:85055535320
T3 - ACM International Conference Proceeding Series
SP - 132
EP - 142
BT - PDC 2018
A2 - Light, Ann
A2 - Lee, Yanki
A2 - Lee, Yanki
A2 - Garde, Julia
A2 - Botterweck, Goetz
A2 - Nadi, Sarah
A2 - Kanstrup, Anne Marie
A2 - Borba, Paulo
A2 - Vines, John
A2 - Berger, Thorsten
A2 - Mannisto, Tomi
A2 - Teli, Maurizio
A2 - Brandt, Eva
A2 - Bodker, Keld
A2 - Benavides, David
PB - Association for Computing Machinery
Y2 - 10 September 2018 through 14 September 2018
ER -