Collecting and leveraging a benchmark of build system clones to aid in quality assessments

Authors: Shane McIntosh Martin Poehlmann Elmar Juergens Audris Mockus Bram Adams Ahmed E. Hassan Brigitte Haupt Christian Wagner

Venue: ICSE   gs of the 36th International Conference on Software Engineering, pp. 145–154, 2011

Year: 2011

Abstract: Build systems specify how sources are transformed into deliverables, and hence must be carefully maintained to ensure that deliverables are assembled correctly. Similar to source code, build systems tend to grow in complexity unless specifications are refactored. This paper describes how clone detection can aid in quality assessments that determine if and where build refactoring effort should be applied. We gauge cloning rates in build systems by collecting and analyzing a benchmark comprising 3,872 build systems. Analysis of the benchmark reveals that: (1) build systems tend to have higher cloning rates than other software artifacts, (2) recent build technologies tend to be more prone to cloning, especially of configuration details like API dependencies, than older technologies, and (3) build systems that have fewer clones achieve higher levels of reuse via mechanisms not offered by build technologies. Our findings aided in refactoring a large industrial build system containing 1.1 million lines.

BibTeX:

@inproceedings{shanemcintosh2011calabobsctaiqa,
    author = "Shane McIntosh and Martin Poehlmann and Elmar Juergens and Audris Mockus and Bram Adams and Ahmed E. Hassan and Brigitte Haupt and Christian Wagner",
    title = "Collecting and leveraging a benchmark of build system clones to aid in quality assessments",
    year = "2011",
    pages = "145–154",
    booktitle = "Companion Proceedings of the 36th International Conference on Software Engineering"
}

Plain Text:

Shane McIntosh, Martin Poehlmann, Elmar Juergens, Audris Mockus, Bram Adams, Ahmed E. Hassan, Brigitte Haupt, and Christian Wagner, "Collecting and leveraging a benchmark of build system clones to aid in quality assessments," gs of the 36th International Conference on Software Engineering, pp. 145–154