Modern software systems must fulfill the needs of an ever-growing customer base. Due to the innate diversity of human needs, software should be customizable and reconfigurable. During the last decades, researchers and practitioners gained interest in Software Product Lines as an engineering technique suited to manage the complexity of highly-variable software systems without resorting to the clone-and-own approach, which is empirically proven to reduce the maintainability of software assets. This dissertation discusses several design aspects of Software Product Lines, with particular attention dedicated to the topic of Language Product Lines, i.e., Software Product Lines for the creation of families of programming language compilers and interpreters. The dissertation will overview the entire life-cycle of a Language Product Line: conception, creation, development, testing, deployment and maintenance. Each phase requires the proper tools and techniques, including an evaluation framework for the assessment of the quality of the results.

THE DIMENSIONS OF VARIABILITY MODELING OR, ON THE DESIGN OF SOFTWARE AND LANGUAGE PRODUCT LINES

FAVALLI, LUCA
2023

Abstract

Modern software systems must fulfill the needs of an ever-growing customer base. Due to the innate diversity of human needs, software should be customizable and reconfigurable. During the last decades, researchers and practitioners gained interest in Software Product Lines as an engineering technique suited to manage the complexity of highly-variable software systems without resorting to the clone-and-own approach, which is empirically proven to reduce the maintainability of software assets. This dissertation discusses several design aspects of Software Product Lines, with particular attention dedicated to the topic of Language Product Lines, i.e., Software Product Lines for the creation of families of programming language compilers and interpreters. The dissertation will overview the entire life-cycle of a Language Product Line: conception, creation, development, testing, deployment and maintenance. Each phase requires the proper tools and techniques, including an evaluation framework for the assessment of the quality of the results.
27-apr-2023
Inglese
Software Product Lines; Language Product Lines; Language Workbenches; Domain-Specific Languages; Design Patterns; Software Metrics; Mutation Testing
CAZZOLA, WALTER
SASSI, ROBERTO
Università degli Studi di Milano
File in questo prodotto:
File Dimensione Formato  
phd_unimi_R12627.pdf

accesso aperto

Dimensione 3.41 MB
Formato Adobe PDF
3.41 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI 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/20.500.14242/172408
Il codice NBN di questa tesi è URN:NBN:IT:UNIMI-172408