Supporting Feature Model Evolution by Lifting Code-Level Dependencies: A Research Preview
- 1k Downloads
[Context and Motivation] Organizations pursuing software product line engineering often use feature models to define the commonalities and variability of software-intensive systems. Frequently, requirements-level features are mapped to development artifacts to ensure traceability and to facilitate the automated generation of downstream artifacts. [Question/Problem] Due to the continuous evolution of product lines and the complexity of the artifact dependencies, it is challenging to keep feature models consistent with their underlying implementation. [Principal Ideas/Results] In this paper, we outline an approach combining feature-to-artifact mappings and artifact dependency analysis to inform domain engineers about possible inconsistencies. In particular, our approach uses static code analysis and a variation control system to lift complex code-level dependencies to feature models. [Contributions] We demonstrate the feasibility of our approach using a Pick-and-Place Unit system and outline our further research plans.
KeywordsProduct lines Variation control system Static analysis
The financial support by the Austrian Federal Ministry for Digital and Economic Affairs, the National Foundation for Research, Technology and Development, and KEBA AG, Austria is gratefully acknowledged.
- 2.Berger, T., et al.: What is a feature? A qualitative study of features in industrial software product lines. In: Proceedings of the 19th SPLC, pp. 16–25 (2015)Google Scholar
- 5.Egyed, A., Graf, F., Grünbacher, P.: Effort and quality of recovering requirements-to-code traces: two exploratory experiments. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, Sydney, Australia, pp. 221–230 (2010)Google Scholar
- 6.Grimmer, A., Angerer, F., Prähofer, H., Grünbacher, P.: Supporting program analysis for non-mainstream languages: experiences and lessons learned. In: Proceedings of the 23rd SANER Conference, pp. 460–469 (2016)Google Scholar
- 8.Hinterreiter, D.: Feature-oriented evolution of automation software systems in industrial software ecosystems. In: 23rd IEEE International Conference on Emerging Technologies and Factory Automation, Torino, Italy, September 2018Google Scholar
- 10.Linsbauer, L., Berger, T., Grünbacher, P.: A classification of variation control systems. In: Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017, pp. 49–62. ACM (2017)Google Scholar
- 11.Linsbauer, L., Egyed, A., Lopez-Herrejon, R.E.: A variability-aware configuration management and revision control platform. In: Proceedings of the 38th International Conference on Software Engineering (Companion), pp. 803–806 (2016)Google Scholar
- 14.Seidl, C., Schaefer, I., Aßmann, U.: Capturing variability in space and time with hyper feature models. In: Proceedings of the 8th International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS 2014, pp. 6:1–6:8 (2013)Google Scholar
- 15.Stǎnciulescu, S., Berger, T., Walkingshaw, E., Wa̧sowski, A.: Concepts, operations, and feasibility of a projection-based variation control system. In: Proceedings of IEEE ICSME, pp. 323–333 (2016)Google Scholar
- 16.Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and scalable consistency checking on product line variability models. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 63–72 (2010)Google Scholar
- 17.Vogel-Heuser, B., Legat, C., Folmer, J., Feldmann, S.: Researching evolution in industrial plant automation: scenarios and documentation of the pick and place unit. Technische Universität München, Technical report (2014)Google Scholar