Abstract

Build systems are an essential component in modern software engineering. They are used to automate tasks of the software development lifecycle, such as compiling code, assembling artifacts, generating documentation, testing artifacts, and deploying artifacts. Although they play an important role in software development, research has ignored this field for a long time. Recent research, such as [9], started to investigate build systems as a component of the software development lifecycle. Kumpfert et al. observed that using a build system decreases the workload of developers but its usage also adds additional overhead for maintaining the build configuration [7]. Seo et al. addressed this issue and found that neglected maintenance of the build configuration is one of the most frequent reasons for breaking a build [10]. Kerzazi et al. found that suffering from build breakage blocks development teams from continuing their work and consequently costs the companies money [6]. Moreover, Seo et al. and Kerzazi et al. investigated the number of failing builds and obvserved a high ratio of build breakage (28.5% and 17.7%, respectively).

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