The build system forms an indispensable part of any software project. It needs to evolve in parallel with the source code in order to build, test and install the software. Unfortu...
Bram Adams, Herman Tromp, Kris De Schutter, Wolfga...
An in-depth investigation of C preprocessor usage for portability and configuration management is presented. Three heavily-ported and widely used C++ libraries are examined. A cor...
Large object-oriented applications are structured over large number of packages. Packages are important but complex structural entities that may be difficult to understand since ...
Many small and medium-sized systems have little or no design documentation, which makes program understanding during maintenance enormously more difficult when performed by outsi...
Software maintenance is a highly collaborative activity whose social context is rarely addressed. To explore this context, we conducted an ethnographic study at a large technology...
Studying the release-time activities of a software project — that is, activities that occur around the time of a major or minor release — can provide insights into both the de...
Libre (free / open source) software development is a complex phenomenon. Many actors (core developers, casual contributors, bug reporters, patch submitters, users, etc.), in many ...
Parallel developments are becoming increasingly prevalent in the building and evolution of large-scale software systems. Our previous studies of a large industrial project showed ...