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.

Refactoring Delta-Oriented Product Lines to achieve Monotonicity

DAMIANI, Ferruccio;LIENHARDT, Michael
2016

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.
7th International Workshop on Formal Methods and Analysis in Software Product Line Engineering (FMSPLE’16)
Eindhoven, the Netherlands
April 3, 2016
206
2
16
http://arxiv.org/abs/1604.00346
Software Product Line, Delta-Oriented Programming, Refactoring, Java
Damiani, Ferruccio; Lienhardt, Michael
File in questo prodotto:
File Dimensione Formato  
EPTCS-FMSPLE-2016.pdf

Accesso aperto

Descrizione: Articolo principale (workshop)
Tipo di file: PDF EDITORIALE
Dimensione 199.75 kB
Formato Adobe PDF
199.75 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/1583072
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? 4
social impact