Standard

Scalable Incremental Building with Dynamic Task Dependencies. / Konat, Gabriël; Erdweg, Sebastian; Visser, Eelco.

ASE 2018: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering . New York, NY : Association for Computing Machinery (ACM), 2018. p. 76-86.

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

Harvard

Konat, G, Erdweg, S & Visser, E 2018, Scalable Incremental Building with Dynamic Task Dependencies. in ASE 2018: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering . Association for Computing Machinery (ACM), New York, NY, pp. 76-86, ASE 2018, Montpellier, France, 3/07/18. https://doi.org/10.1145/3238147.3238196

APA

Konat, G., Erdweg, S., & Visser, E. (2018). Scalable Incremental Building with Dynamic Task Dependencies. In ASE 2018: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (pp. 76-86). Association for Computing Machinery (ACM). https://doi.org/10.1145/3238147.3238196

Vancouver

Konat G, Erdweg S, Visser E. Scalable Incremental Building with Dynamic Task Dependencies. In ASE 2018: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering . New York, NY: Association for Computing Machinery (ACM). 2018. p. 76-86 https://doi.org/10.1145/3238147.3238196

Author

Konat, Gabriël ; Erdweg, Sebastian ; Visser, Eelco. / Scalable Incremental Building with Dynamic Task Dependencies. ASE 2018: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering . New York, NY : Association for Computing Machinery (ACM), 2018. pp. 76-86

BibTeX

@inproceedings{e167152d540a4afca6b4636478c2eebe,
title = "Scalable Incremental Building with Dynamic Task Dependencies",
abstract = "Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability.",
keywords = "scalable, incremental, build, dynamic task dependency",
author = "Gabri{\"e}l Konat and Sebastian Erdweg and Eelco Visser",
year = "2018",
doi = "10.1145/3238147.3238196",
language = "English",
isbn = "978-1-4503-5937-5 ",
pages = "76--86",
booktitle = "ASE 2018",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",
note = "ASE 2018 : 33rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2018 ; Conference date: 03-07-2018 Through 07-07-2018",
url = "http://www.ase2018.com",

}

RIS

TY - GEN

T1 - Scalable Incremental Building with Dynamic Task Dependencies

AU - Konat, Gabriël

AU - Erdweg, Sebastian

AU - Visser, Eelco

PY - 2018

Y1 - 2018

N2 - Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability.

AB - Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability.

KW - scalable

KW - incremental

KW - build

KW - dynamic task dependency

U2 - 10.1145/3238147.3238196

DO - 10.1145/3238147.3238196

M3 - Conference contribution

SN - 978-1-4503-5937-5

SP - 76

EP - 86

BT - ASE 2018

PB - Association for Computing Machinery (ACM)

CY - New York, NY

T2 - ASE 2018

Y2 - 3 July 2018 through 7 July 2018

ER -

ID: 47192560