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.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.
https://hdl.handle.net/20.500.14242/172408
URN:NBN:IT:UNIMI-172408