Title :
Co-evolution of source code and the build system
Author_Institution :
Software Anal. & Intell. Lab., Queen´´s Univ., Kingston, ON, Canada
Abstract :
A build system breathes life into source code, as it configures and directs the construction of a software system from textual source code modules. Surprisingly, build languages and tools have not received considerable attention by academics and practitioners, making current build systems a mysterious and frustrating resource to work with. Our dissertation presents a conceptual framework with tool support to recover, analyze and refactor a build system. We demonstrate the applicability of our framework by analyzing the evolution of the Linux kernel build system and the introduction of AOSD technology in five legacy build systems. In all cases, we found that the build system is a complex software system of its own, trying to co-evolve in a synchronized way with the source code while working around shortcomings of the underlying build technology. Based on our findings, we hypothesize four conceptual reasons of co-evolution to guide future research in the area of build systems.
Keywords :
software maintenance; software prototyping; AOSD technology; Linux kernel build system; build language; build system; build system analysis; build system recovery; build system refactoring; legacy build system; software system; source code co-evolution; textual source code module; Computer architecture; Joining processes; Kernel; Libraries; Linux; Modular construction; Programming; Software development management; Software systems; Spine;
Conference_Titel :
Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
Conference_Location :
Edmonton, AB
Print_ISBN :
978-1-4244-4897-5
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2009.5306272