Extending GNU Make With Custom Fingerprints to Reduce Redundant Recompilation
- Typ der Arbeit: Bachelorarbeit
- Status der Arbeit: abgeschlossen
- Projekte: CADOS
- Betreuer: Tobias Landsberg, Daniel Lohmann
- Bearbeiter: Sergej Reich
By default, every time a developer changes some part of a project's source code, all code has to be (re-)compiled. Since this approach consumes a lot of time and energy, there are tools that try to reduce the number of redundant compilations. For example, the make tool re-executes a (build-)step only if at least one input dependency has a newer timestamp than the output artifact. However, a change does not have to affect the program, e.g., a changed comment, but make does not support other metrics.
The goal of this thesis is to extend make to support generic metrics and evaluate it using various C/C++ open-source software projects. Ideally, in the end, a purely cosmetic change to a central source file should not lead to a re-execution of the linker.
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]