Precise, Efficient, and Expressive Incremental Build Scripts with PIE
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. Furthermore, additional staging is not expressive nor maintainable, as it introduces accidental complexity into build scripts.
To this end, we have developed PIE, a DSL (domain-specific language) and runtime for precise, efficient, and expressive build programming.
Mon 21 OctDisplayed time zone: Beirut change
14:00 - 15:30
|Precise, Efficient, and Expressive Incremental Build Scripts with PIE|
Gabriël Konat Delft University of Technology, Roelof Sol Delft University of Technology, Sebastian Erdweg JGU Mainz, Eelco Visser Delft University of TechnologyPre-print File Attached
|From Whole Program Compilation to Incremental Compilation: A Critical Case|
Jeff Smits Delft University of Technology, Gabriël Konat Delft University of Technology, Eelco Visser Delft University of TechnologyPre-print
|An Incremental Locking Scheme for Transactional Editing|
Nils Kurowsky Fernuni Hagen