ASE2022

Accelerating Build Dependency Error Detection via Virtual Build

Rongxin Wu, Minglei Chen, Chengpeng Wang, Gang Fan, Jiguang Qiu, Charles Zhang

6 citations

Abstract

Build scripts play an important role in transforming the source code into executable artifacts. However, the development of build scripts is typically error-prone. As one kind of the most prevalent errors in build scripts, the dependency-related errors, including missing dependencies and redundant dependencies, draw the attention of many researchers. A variety of build dependency analysis techniques have been proposed to tackle them. Unfortunately, most of these techniques, even the state-of-the-art ones, su er from eciency issues due to the expensive cost of monitoring the complete build process to build dynamic dependencies. Especially for largescale projects, such the cost would not be a ordable. This work presents a new technique to accelerate the build dependency error detection by reducing the time cost of the build monitoring. Our key idea is to reduce the size of a program while still preserving the same dynamic dependencies as the original one. Building the reduced program does not generate a real software artifact, but it yields the same list of dependency errors and meanwhile speeds up the process. We implement the tool V B and evaluate it on real-world projects. It is shown that it detects all the dependency errors found by existing tools at a low cost. Compared with the state-of-the-art technique, V B accelerates the build process by 8.74 times, and improves the e ciency of error detection by 6.13 times on average. Speci cally, in the large-scale project LLVM that contains 5.67 MLoC, V B reduces the overall time from over four hours to 38.63 minutes.