Refactoring Delta-Oriented Product Lines to achieve Monotonicity

Ferruccio Damiani
(University of Torino, Italy)
Michael Lienhardt
(University of Torino, Italy)

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.

In Julia Rubin and Thomas Thüm: Proceedings 7th International Workshop on Formal Methods and Analysis in Software Product Line Engineering (FMSPLE 2016), Eindhoven, The Netherlands, April 3, 2016, Electronic Proceedings in Theoretical Computer Science 206, pp. 2–16.
Published: 28th March 2016.

ArXived at: https://dx.doi.org/10.4204/EPTCS.206.2 bibtex PDF

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org