Model Defects in Evolving Software Product Lines: A Review of Literature
Software products lines (SPLs) are long living systems that undergo several evolutions throughout their lifetime due to many reasons related to technology, strategy, business, etc. These evolutions can be the source of several defects that impact the different artefacts of SPLs, namely requirements, models, architecture and code. Many studies in the literature have dealt with the correction of defects in software product lines, but to our knowledge, no reviews have been carried out to provide an extensive overview of these studies. In this paper, we present a literature review of model defects in software product lines. The purpose of this review is to enumerate the different defects discussed in literature and to present the approaches proposed to detect and correct them. The findings of this review reveal new research leads to explore in this issue.
L. M. Northrop, “SEI’s Software Product line Tenets.” IEEE Software, vol. 19, no. 4, pp. 32-40, 2002.
K. Pohl, G. Böckle, and F. Van Der Linden, Software Product Line Engineering Foundations, Principles, and Techniques, Berlin, Germany: Springer-Verlag, 2005.
D. Yu, P. Geng, and W. Wu, “Constructing traceability between features and requirements for software product line engineering,” in Proc. 19th Asia-Pacific Software Engineering Conference (APSEC), IEEE, 2012, pp. 27-34.
N. Anquetil, U. Kulesza, R. Mitschke, et al., “A model-driven traceability framework for software product lines.” Software and Systems Modeling, vol. 9, no. 4, pp. 427-451, 2010.
A. Goknil, I. Kurtev, K. van den Berg, and J. Veldhuis, “Semantics of trace relations in requirements models for consistency checking and inferencing, Software Systems Modeling.” Springer, vol. 10, no. 1, pp. 31-54, 2011.
S. Lity, S. Nahrendorf, T. Thüm, et al., “175% Modeling for Product-Line Evolution of Domain Artifacts,” in Proc. International Workshop on Variability Modelling of Software-Intensive Systems, ACM, 2018, pp. 27-34.
A. Pleuss, G. Botterweck, D. Dhungana, et al., “Model-driven support for product line evolution on feature level.” Journal of Systems and Software, vol. 85, no. 10, pp. 2261-2274, 2012.
D. Romero, S. Urli, C. Quinton, et al., “SPLEMMA: A generic framework for controlled-evolution of software product lines,” in Proc. 17th International Software Product Line Conference, 2013, pp. 59-66.
L. Passos, K. Czarnecki, S. Apel, et al., “Feature-oriented software evolution,” in Proc. 7th International Workshop on Variability Modelling of Software-intensive Systems, ACM, 2013, p. 17.
R. Hellebrand, A. Silva, M. Becker, et al., “Coevolution of variability models and code: an industrial case study,” in Proc. 18th International Software Product Line Conference, ACM, Sept. 2014, vol. 1, pp. 274-283.
A. Benlarabi, A. Khtira, and B. El Asri, “CASPL: A Coevolution Analysis Platform for Software Product Lines,” in Handbook of Research on Investigations in Artificial Life Research and Development, IGI Global, pp. 380-396, 2018.
M. Bhushan, S. Goel, and K. Kaur, “Analyzing inconsistencies in software product lines using an ontological rule-based approach.” Journal of Systems and Software, 2017.
K. Shumaiev and M. Bhat, “Automatic Uncertainty Detection in Software Architecture Documentation,” in Proc. International Conference on Software Architecture Workshops (ICSAW), April 2017, pp. 216-219.
A. O. Elfaki, “A rule-based approach to detect and prevent inconsistency in the domain engineering process.” Expert Systems, vol. 33, no. 1, pp. 3-13, 2016.
A. Goknil, I. Kurtev, K. Van Den Berg, et al., “Change impact analysis for requirements: A metamodeling approach.” Information and Software Technology, vol. 56, no. 8, pp. 950-972, 2014.
S. McConnell, “Software quality at top speed.” Software Development, vol. 4, no. 8, pp. 38-42, 1996.
S. B. Kitchenham, Charters, Guidelines for Performing Systematic Literature Reviews in Software Engineering, Keele University, UK EBSE-2007-1, 2007.
M. Alférez, R. E. Lopez-Herrejon, A. Moreira, et al., “Supporting consistency checking between features and software product line use scenarios,” in: Schmid K. (eds) Top Productivity through Software Reuse (ICSR 2011), Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 6727, pp. 20-35, June 2011.
M. Alférez, R. E. Lopez-Herrejon, A. Moreira, et al., “Consistency Checking in Early Software Product Line Specifications-The VCC Approach.” Journal of Universal Computer Science, vol. 20, no. 5, pp. 640-665, 2014.
S. Apel, D. Batory, C. Kästner, and G. Saake, “Analysis of Software Product Lines,” in Feature-Oriented Software Product Lines, Berlin: Springer, 2013, pp. 243-282.
S. Bessling and M. Huhn, “Towards formal safety analysis in feature-oriented product line development,” in: Gibbons J., MacCaull W. (eds) Foundations of Health Information Engineering and Systems (FHIES 2013), Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 8315, pp. 217-235, Aug. 2013.
E. Boutkova and F. Houdek, “Semi-automatic identification of features in requirement specifications,” in Proc. 19th International Requirements Engineering Conference (RE), IEEE, Aug. 2011, pp. 313-318.
M. Cordy, P. Y. Schobbens, P. Heymans, and A. Legay, “Beyond boolean product-line model checking: dealing with feature attributes and multi-features,” in Proc. International Conference on Software Engineering, IEEE, May 2013, pp. 472-481.
H. K. Dam and M. Winikoff, “An agent-oriented approach to change propagation in software maintenance.” Autonomous Agents and Multi-Agent Systems, vol. 23, no. 3, pp. 384-452, 2011.
H. K. Dam, A. Egyed, M. Winikoff, et al., “Consistent merging of model versions.” Journal of Systems and Software, vol. 112, pp. 137-155, 2016.
R. M. de Mello, E. Nogueira, M. Schots, et al., “Verification of Software Product Line Artefacts: A Checklist to Support Feature Model Inspections.” Journal of Universal Computer Science, vol. 20, no. 5, pp. 720-745, 2014.
D. Dhungana, P. Grünbacher, R. Rabiser, and T. Neumayer, “Structuring the modeling space and supporting evolution in software product line engineering.” Journal of Systems and Software, vol. 83, no. 7, pp. 1108-1122, 2010.
A. Egyed, “Automatically detecting and tracking inconsistencies in software design models.” IEEE Transactions on Software Engineering, vol. 37, no. 2, pp. 188-204, 2011.
A. Elfaki, S. Fong, P. Vijayaprasad, et al., “Using rule-based method for detecting anomalies in software product line.” Research Journal of Applied Sciences, Engineering and Technology, vol. 7, no. 2, pp. 275-81, 2014.
K. Farias, A. Garcia, and C. Lucena, “Effects of stability on model composition effort: an exploratory study.” Software & Systems Modeling, vol. 13, no. 4, pp. 1473-1494, 2014.
D. A. Ferreira and A. R. da Silva, “RSLingo: An information extraction approach toward formal requirements specifications,” in Proc. Model-Driven Requirements Engineering Workshop (MoDRE), IEEE, Sept. 2012, pp. 39-48.
J. B. F. Filho, O. Barais, B. Baudry, et al., “An approach for semantic enrichment of software product lines,” in Proc. 16th International Software Product Line Conference-Volume 2, ACM, Sept. 2012, pp. 188-195.
N. Gamez and L. Fuentes, “Architectural evolution of FamiWare using cardinality-based feature models.” Information and Software Technology, vol. 55, no. 3, pp. 563-580, 2013.
J. Greenyer, A. M. Sharifloo, M. Cordy, and P. Heymans, “Features meet scenarios: modeling and consistency-checking scenario-based product line specifications.” Requirements Engineering, vol. 18, no. 2, pp. 175-198, 2013.
I. Groher, A. Reder, and A. Egyed, “Incremental consistency checking of dynamic constraints,” in: Rosenblum D.S., Taentzer G. (eds) Fundamental Approaches to Software Engineering (FASE 2010), Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 6013, pp. 203-217, 2010.
J. Guo, Y. Wang, P. Trinidad, et al., “Consistency maintenance for evolving feature models.” Expert Systems with Applications, vol. 39, no. 5, pp. 4987-4998, 2012.
I. Hajri, A. Goknil, L. C. Briand, and T. Stephany, “Applying product line use case modeling in an industrial automotive embedded system: Lessons learned and a refined approach,” in Proc. 18th International Conference on Model Driven Engineering Languages and Systems (MODELS), IEEE, Sept. 2015, pp. 338-347.
P. Inverardi and M. Mori, “A software lifecycle process to support consistent evolutions,” in: Software Engineering for Self-Adaptive Systems II, Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 7475, pp. 239-264, 2013.
I. J. Jureta, A. Borgida, N. A. Ernst, and J. Mylopoulos, “Techne: Towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling,” in Proc. 18th IEEE International Requirements Engineering Conference (RE), IEEE, Sept. 2010, pp. 115-124.
M. Kamalrudin, J. Grundy, and J. Hosking, “Managing consistency between textual requirements, abstract interactions and Essential Use Cases,” in Proc. IEEE 34th Annual Computer Software and Applications Conference (COMPSAC), IEEE, July 2010, pp. 327-336.
M. Käßmeyer, M. Schulze, and M. Schurius, “A process to support a systematic change impact analysis of variability and safety in automotive functions,” in Proc. 19th International Conference on Software Product Line, ACM, July 2015, pp. 235-244.
A. Khtira, A. Benlarabi, and B. El Asri, “Duplication Detection when evolving Feature Models of Software Product Lines.” Information Science Journal (ISJ), vol. 6, no. 4, pp. 592-612, Oct. 2015.
C. Manz, M. Schulze, M. Reichert, “An approach to detect the origin and distribution of software defects in an evolving cyber-physical system,” in Workshop on Emerging Ideas and Trends in Engineering of Cyber-Physical Systems, Apr. 2014.
R. Mazo, R. E. Lopez-Herrejon, C. Salinesi, et al., “Conformance checking with constraint logic programming: The case of feature models,” in Proc. IEEE 35th Annual Computer Software and Applications Conference (COMPSAC), IEEE, July 2011, pp. 456-465.
J. V. Millo, S. Ramesh, S. N. Krishna, G. K. Narwane, “Compositional verification of software product lines,” in: Johnsen E.B., Petre L. (eds) Integrated Formal Methods (IFM 2013), Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 7940, pp 109-123, June 2013.
L. Neves, P. Borba, V. Alves, et al., “Safe evolution templates for software product lines.” Journal of Systems and Software, vol. 106, pp. 42-58, 2015.
M. Noorian, A. Ensan, E. Bagheri, et al., “Feature Model Debugging based on Description Logic Reasoning,” in Proc. 17th International Conference on Distributed Multimedia Systems, Aug. 2011, vol. 11, pp. 158-164.
C. Quinton, A. Pleuss, D. L. Berre, et al., “Consistency checking for the evolution of cardinality-based feature models,” in Proc. 18th International Software Product Line Conference-Volume 1, ACM, Sept. 2014, pp. 122-131.
J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik, ”Managing forked product variants,” in Proc. 16th International Software Product Line Conference-Volume 1, ACM, Sept. 2012, pp. 156-160.
B. Rumpe, C. Schulze, M. Von Wenckstern, et al., “Behavioral compatibility of simulink models for product line maintenance and evolution,” in Proc. 19th International Conference on Software Product Line, ACM, July 2015, pp. 141-150.
A. Salikiryaki, I. Petrova, and S. Baumgart, “Graphical approach for modeling of safety and variability in product lines,” in Proc. 41st Euromicro Conference on Software Engineering and Advanced Applications (SEAA), IEEE, Aug. 2015, pp. 410-417.
C. Salinesi and R. Mazo, Defects in Product Line Models and how to Identify them, InTech editions, 2012, p. 50.
T. Schmorleiz and R. Lämmel, “Similarity management of 'cloned and owned' variants,” in Proc. 31st Annual ACM Symposium on Applied Computing, ACM, Apr. 2016, pp. 1466-1471.
C. Seidl, F. Heidenreich, and U. Aßmann, “Co-evolution of models and feature mapping in software product lines,” in Proc. 16th International Software Product Line Conference-Volume 1, ACM, Sept. 2012, pp. 76-85.
Z. Stephenson, K. Attwood, and J. McDermid, “Product-Line Models to Address Requirements Uncertainty, Volatility and Risk,” in Relating Software Requirements and Architectures, Springer Berlin Heidelberg, pp. 111-131, 2011.
M. Vierhauser, P. Grünbacher, W. Heider, et al., “Applying a consistency checking framework for heterogeneous models and artifacts in industrial product lines,” in: France R.B., Kazmeier J., Breu R., Atkinson C. (eds) Model Driven Engineering Languages and Systems (MODELS 2012), Lecture Notes in Computer Science, Springer Berlin Heidelberg, vol. 7590, pp. 531-545, 2012.
K. Wnuk, T. Gorschek, and S. Zahda, “Obsolete software requirements.” Information and Software Technology, vol. 55, no. 6, pp. 921-940, 2013.
H. Yang, A. De Roeck, V. Gervasi, et al., “Analysing anaphoric ambiguity in natural language requirements.” Requirements engineering, vol. 16, no. 3, p. 163, 2011.
B. Zhang and M. Becker, “Mining complex feature correlations from software product line configurations,” in Proc. 7th International Workshop on Variability Modelling of Software-intensive Systems, ACM, Jan. 2013, p. 19.
G. Zhang, X. Peng, Z. Xing, and W. Zhao, “Cloning practices: Why developers clone and what can be changed,” in Proc. 28th IEEE International Conference on Software Maintenance (ICSM), IEEE, Sept. 2012, pp. 285-294.
A. Hunt and D. Thomas, The pragmatic programmer: from journeyman to master, Addison-Wesley Professional, 2000.
G. Lami, S. Gnesi, F. Fabbrini, M. Fusani, G. Trentanni, “An automatic tool for the analysis of natural language requirements.” Informe técnico, CNR Information Science and Technology Institute, Pisa, Italia, Sept. 2004.
L. Neves, L. Teixeira, D. Sena, et al., “Investigating the safe evolution of software product lines.” ACM SIGPLAN Notices, vol. 47, no. 3, pp. 33-42, 2012.
- There are currently no refbacks.