paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Scalable incremental building with dynamic task dependencies

具有动态任务依赖的可扩展增量构建
ASE Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering2018匹配度 3/10 · 论文研究增量构建算法与动态任务依赖,属于程序语言/软件工程工具方向,但与用户核心关注的LLM/Agent静态分析、浮点程序分析、贝叶斯程序分析等无直接交集;仅增量计算与依赖追踪思想可能与静态分析的增量执行有微弱间接关联。引用 19 inbox
Gabriël Konat, Sebastian Erdweg, Eelco Visser
crossref: 2026-09-12

AI 速览

一句话:提出一种增量构建算法,支持全功能编程语言脚本,执行代价随受影响任务数扩展而非项目规模。

增量构建系统对快速、可复现的软件构建至关重要,它通过精确捕获依赖并选择性执行任务来缩短反馈周期。然而,现有面向可编程构建脚本的增量算法往往无法随项目规模良好扩展,且构建脚本语言的表达力直接影响可维护性。本文提出一种新的增量构建算法,允许构建工程师使用全功能编程语言,支持显式任务调用、值与文件检查,以及条件和迭代等语言构造。算法接受一组变更文件,传递地检测并重新执行受影响任务,同时处理构建期间新发现的任务依赖。作者在真实案例研究中评估了算法性能,确认其可扩展性:执行代价随受影响任务数量增长,而与项目大小无关。

问题
面向可编程构建脚本的增量构建算法难以同时保证表达力与可扩展性,已有方法随项目规模增大而性能下降。
方法
提出一种增量构建算法,接受变更文件集合,传递检测并重执行受影响任务,并处理构建过程中动态发现的新依赖,同时支持显式任务调用、值/文件检查及条件与迭代构造。
评估
在真实案例研究中评估算法性能,验证其执行代价随受影响任务数量而非项目规模扩展。
原文摘要(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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4698,
  title = {Scalable incremental building with dynamic task dependencies},
  author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser},
  booktitle = {ASE},
  year = {2018},
  doi = {10.1145/3238147.3238196}
}