谷歌浏览器插件
订阅小程序
在清言上使用

Forward Build Systems, Formally

CoRR(2022)

引用 0|浏览24
暂无评分
摘要
Build systems are a fundamental part of software construction, but their correctness has received comparatively little attention, relative to more prominent parts of the toolchain. In this paper, we address the correctness of forward build systems, which automatically determine the dependency structure of the build, rather than having it specified by the programmer. We first define what it means for a forward build system to be correct-it must behave identically to simply executing the programmer-specified commands in order. Of course, realistic build systems avoid repeated work, stop early when possible, and run commands in parallel, and we prove that these optimizations, as embodied in the recent forward build system RATTLE, preserve our definition of correctness. Along the way, we show that other forward build systems, such as FABRICATE and MEMOIZE, are also correct. We carry out all of our work in Agda, and describe in detail the assumptions underlying both Rattle itself and our modeling of it.
更多
查看译文
关键词
agda,build systems,concurrency,functional programming,program verification,systems,verified applications
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要