Advertisement

Supporting Feature Model Evolution by Lifting Code-Level Dependencies: A Research Preview

  • Daniel HinterreiterEmail author
  • Kevin Feichtinger
  • Lukas Linsbauer
  • Herbert Prähofer
  • Paul Grünbacher
Conference paper
  • 792 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11412)

Abstract

[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.

Keywords

Product lines Variation control system Static analysis 

Notes

Acknowledgements

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.

References

  1. 1.
    Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37521-7CrossRefGoogle Scholar
  2. 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
  3. 3.
    Bürdek, J., Kehrer, T., Lochau, M., Reuling, D., Kelter, U., Schürr, A.: Reasoning about product-line evolution using complex feature model differences. Autom. Softw. Eng. 23(4), 687–733 (2016)CrossRefGoogle Scholar
  4. 4.
    Dintzner, N., van Deursen, A., Pinzger, M.: FEVER: an approach to analyze feature-oriented changes and artefact co-evolution in highly configurable systems. Empir. Softw. Eng. 23(2), 905–952 (2018)CrossRefGoogle Scholar
  5. 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. 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
  7. 7.
    Hajri, I., Goknil, A., Briand, L.C., Stephany, T.: Change impact analysis for evolving configuration decisions in product line use case models. J. Syst. Softw. 139, 211–237 (2018)CrossRefGoogle Scholar
  8. 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
  9. 9.
    Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. SIGPLAN Not. 23(7), 35–46 (1988)CrossRefGoogle Scholar
  10. 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. 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
  12. 12.
    Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Variability extraction and modeling for product variants. Softw. Syst. Model. 16(4), 1179–1199 (2017)CrossRefGoogle Scholar
  13. 13.
    Rabiser, D., et al.: Multi-purpose, multi-level feature modeling of large-scale industrial software systems. Softw. Syst. Model. 17, 913–938 (2018)CrossRefGoogle Scholar
  14. 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. 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. 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. 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

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Daniel Hinterreiter
    • 1
    Email author
  • Kevin Feichtinger
    • 1
  • Lukas Linsbauer
    • 1
  • Herbert Prähofer
    • 2
  • Paul Grünbacher
    • 1
  1. 1.Institute Software Systems EngineeringChristian Doppler Laboratory MEVSS, Johannes Kepler UniversityLinzAustria
  2. 2.Institute System SoftwareChristian Doppler Laboratory MEVSS, Johannes Kepler UniversityLinzAustria

Personalised recommendations