KIT | KIT-Bibliothek | Impressum | Datenschutz

Precise, Efficient, and Expressive Incremental Build Scripts with PIE

Konat, Gabriël; Sol, Roelof; Erdweg, Sebastian ORCID iD icon 1; Visser, Eelco
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Build systems check, compile, test, and deploy virtually every software project. Besides increasing software reliability, incremental build systems also speed up software development by enabling short feedback cycles. However, the reliable and long-term maintainable usage of incremental build systems requires precision, efficiency, and expressiveness.

Current incremental build systems focus on efficiency and precision, but lack expressiveness. To support efficient incremental rebuilds, current build systems impose a strict separation of the configuration and build stages. That is, all build tasks and dependencies (i.e., the variability of the build) are declared in the configuration stage to create a build plan, which is then executed in the build stage. This model contradicts reality, where how to build an artifact depends on the execution of other build tasks.

Common workarounds required in this model are over-approximation (*.h in Make to depend on all C header files), under-approximation (own.h to depend only on your own header file), or additional staging (e.g., Makefile generation and recursive Make). However, these workarounds are not efficient nor precise: over-approximation is not minimal and under-approximation is unsound. ... mehr


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsjahr 2019
Sprache Englisch
Identifikator KITopen-ID: 1000188594
Erschienen in International Workshop on Incremental Computing (IC); Athen, Griechenland, 20.-25.10.2019
Veranstaltung International Workshop on Incremental Computing (IC 2019), Athen, Griechenland, 20.10.2019 – 25.10.2019
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page