Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned
Sascha El-Sharkawy, Dhar Saura Jyoti, Adam Krafczyk, Slawomir, Duszynski, Tobias Beichter, Klaus Schmid

TL;DR
This paper presents a method to reverse engineer variability constraints from code in large-scale industrial product lines, improving the accuracy of variability models and addressing practical challenges in real-world applications.
Contribution
It extends feature effect analysis to extract variability constraints from code artifacts, demonstrating its application in an industrial setting and handling complex variability types.
Findings
Successfully extracted variability constraints from code artifacts.
Improved the correctness and completeness of variability models.
Addressed challenges with non-Boolean variability and heterogeneous artifacts.
Abstract
Ideally, a variability model is a correct and complete representation of product line features and constraints among them. Together with a mapping between features and code, this ensures that only valid products can be configured and derived. However, in practice the modeled constraints might be neither complete nor correct, which causes problems in the configuration and product derivation phases. This paper presents an approach to reverse engineer variability constraints from the implementation, and thus improve the correctness and completeness of variability models. We extended the concept of feature effect analysis to extract variability constraints from code artifacts of the Bosch PS-EC large-scale product line. We present an industrial application of the approach and discuss its required modifications to handle non-Boolean variability and heterogeneous artifact types.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Research · Software Reliability and Analysis Research
