Integration and Optimization of a Variability-Aware LLVM-Based Toolchain for Highly Configurable Software
- Typ der Arbeit: Bachelorarbeit
- Status der Arbeit: abgeschlossen
- Projekte: CADOS
- Betreuer: Tobias Landsberg, Daniel Lohmann
- Bearbeiter: Johannes Grunenberg
In system software, programs are usually developed as software product families. This enables developers to tailor their programs to different use cases while maintaining only a single code base. However, these synergy effects are only utilized for the source code itself. The following steps in the software life cycle, building, testing, and deploying, are performed for each configuration independently, resulting in poor scalability and enormous costs.
Therefore, we developed multiple tools, each solving the problem for a different step in the software life cycle. Some of the tools are stand-alone, others are implemented as plugins for LLVM.
The goal of this thesis is to integrate these tools into a toolchain utilizing synergy effects between them and improving scalability, efficiency, and effectiveness even further. This can be evaluated by applying the toolchain to various C/C++ open-source software projects.
Related Publications
-
USENIX
Conference
A
Best Paper Award
cHash: Detection of Redundant Compilations via AST Hashing -
Proceedings of the 2017 USENIX Annual Technical Conference (USENIX '17)USENIX Association2017Best Paper Award.
PDF Details Slides Raw Data [BibTex]
-
ICSOFT
Conference
B
Best Student Paper
TASTING: Reuse Test-case Execution by Global AST Hashing -
Proceedings of the 17th International Conference on Software Technologies - ICSOFTSciTePress2022Best Student Paper.
PDF 10.5220/0011139200003266 [BibTex]
-
SPLC
Conference
B
Should I Bother? Fast Patch Filtering for Statically-Configured Software Variants -
Proceedings of the 28th ACM International Systems and Software Product Line ConferenceAssociation for Computing Machinery2024.
PDF 10.1145/3646548.3672585 [BibTex]