Abstract

Build systems are used in every nontrivial software project. They contain knowledge of how software is built and provide tools to get it built as fast as possible. While being central to day-to-day productivity, they sometimes fail to deliver their promise of being correct, efficient, and tailored. This situation gets aggravated with huge code bases and fast-paced continuous-integration pipelines. This article surveys state-of-the-art techniques and algorithms that relegate the occasional inconsistent build, slow execution times, and boilerplate makefiles to another age. This article is part of a special issue on release engineering.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call