Recovery of Configuration Knowledge by Analysis of Variability Code Realizations
- Industries use software product lines as a solution to the ever-increasing variety-rich customer requirements for the software products. In order to realize the variability in the product line, several variability realization techniques are used, of which, conditional compilation and execution are more frequently used in practice. This is not without its challenges. As the product line evolves in space and time, several versions of products are released, thereby increasing the complexity of variability code in an uncontrolled manner. In most cases, there exists no explicit variability model to provide important configuration knowledge, or the variability model and variability code do not synchronize with each other, e.g. important dependencies from the code realizations are not reflected in the variability model. When the domain experts leave the company, the product configuration knowledge will be lost. New employees will have to be trained on the domain knowledge and are left with the herculean task of tracking the code changes in the variability code for the different versions. They also have to understand the variability code to analyze the impact of code changes and how to adapt them. Overall, that lack of explicit and sound configuration knowledge results in higher efforts during the product configuration and quality assurance. Hence, industries are interested in recovering configuration knowledge via semi-automated analyses of the variability code and the existing product configurations. This Master’s thesis investigates the various approaches that can be followed in order to recover existing configuration knowledge. It is an extension of the previous research works on the VITAL approach conducted at TU Kaiserslautern and Fraunhofer IESE. The focus of this research will be the solution space, i.e., the variability realization through variability code mechanisms like conditional compilation/execution. The goal is to analyze the preprocessor directives or respective constructs in programming languages, study respective state of the art advances in recent years and enhance the VITAL analysis method and tool. In particular, identification of configuration parameters, their values and ranges, the constraints and nesting between one parameter to the other are the primary objectives of the research. As secondary goals, visualization of the identified product configuration knowledge in the existing tool and optimization of the algorithms present in the tool will be implemented from the results of the primary goals. For the research, open source libraries and applications will be identified and used for analysis. The work will be guided by real world industrial settings.
Author: | Suparna Satheesh Nair |
---|---|
URN: | urn:nbn:de:hbz:386-kluedo-64464 |
Advisor: | Martin Becker, Peter Liggesmeyer |
Document Type: | Master's Thesis |
Language of publication: | English |
Date of Publication (online): | 2021/06/29 |
Date of first Publication: | 2021/06/29 |
Publishing Institution: | Technische Universität Kaiserslautern |
Granting Institution: | Technische Universität Kaiserslautern |
Date of the Publication (Server): | 2021/06/30 |
GND Keyword: | Software Product Line Engineering; Variability Management; Configuration Knowledge; Variability Analysis; VITAL; Variability Realization |
Page Number: | IX, 112 |
Faculties / Organisational entities: | Distance and Independent Studies Center (DISC) |
CCS-Classification (computer science): | D. Software / D.2 SOFTWARE ENGINEERING (K.6.3) / D.2.7 Distribution, Maintenance, and Enhancement (REVISED) / Restructuring, reverse engineering, and reengineering (REVISED) |
DDC-Cassification: | 0 Allgemeines, Informatik, Informationswissenschaft / 004 Informatik |
Collections: | Herausragende Masterarbeiten am DISC |
Licence (German): | Creative Commons 4.0 - Namensnennung, nicht kommerziell, keine Bearbeitung (CC BY-NC-ND 4.0) |