Build Scripts with Perfect Dependencies

07/24/2020
by   Sarah Spall, et al.
0

Build scripts for most build systems describe the actions to run, and the dependencies between those actions—but often build scripts get those dependencies wrong. Most build scripts have both too few dependencies (leading to incorrect build outputs) and too many dependencies (leading to excessive rebuilds and reduced parallelism). Any programmer who has wondered why a small change led to excess compilation, or who resorted to a "clean" step, has suffered the ill effects of incorrect dependency specification. We outline a build system where dependencies are not specified, but instead captured by tracing execution. The consequence is that dependencies are always correct by construction and build scripts are easier to write. The simplest implementation of our approach would lose parallelism, but we are able to recover parallelism using speculation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/14/2019

Instructional Level Parallelism

This paper is a review of the developments in Instruction level parallel...
research
02/10/2022

Forward Build Systems, Formally

Build systems are a fundamental part of software construction, but their...
research
08/27/2021

LaForge: Always-Correct and Fast Incremental Builds from Simple Specifications

Developers rely on build systems to generate software from code. At a mi...
research
06/03/2019

Exploiting nested task-parallelism in the ℋ-LU factorization

We address the parallelization of the LU factorization of hierarchical m...
research
05/14/2020

Identifying Bugs in Make and JVM-Oriented Builds

Incremental and parallel builds are crucial features of modern build sys...
research
03/21/2021

Graph Transformation and Specialized Code Generation For Sparse Triangular Solve (SpTRSV)

Sparse Triangular Solve (SpTRSV) is an important computational kernel us...
research
03/08/2021

DepGraph: Localizing Performance Bottlenecks in Multi-Core Applications Using Waiting Dependency Graphs and Software Tracing

This paper addresses the challenge of understanding the waiting dependen...

Please sign up or login with your details

Forgot password? Click here to reset