Refactoring Delta-Oriented Product Lines to achieve Monotonicity
Ferruccio Damiani (University of Torino, Italy), Michael Lienhardt, (University of Torino, Italy)

TL;DR
This paper introduces algorithms to refactor delta-oriented product lines into monotonic forms, simplifying analysis by restricting operations to either only additions and modifications or only removals and modifications.
Contribution
It formalizes algorithms for transforming delta-oriented product lines into monotonic forms, with proofs of correctness and complexity analysis.
Findings
Algorithms successfully convert product lines into monotonic forms.
Monotonic product lines are easier to analyze.
Formal proofs ensure correctness of the transformations.
Abstract
Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules to a (possibly empty) base program. These operations can add, remove or modify named elements in a program (e.g., classes, methods and fields in a Java program). This paper presents algorithms for refactoring a delta-oriented product line into monotonic form, i.e., either to contain add and modify operations only (monotonic increasing) or to contain remove and modify operations only (monotonic decreasing). Because of their simpler structure, monotonic delta-oriented product lines are easier to analyze. The algorithms are formalized by means of a core calculus for DOP of product lines of Java programs and their correctness and complexity are given.
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.
