Paper Build Level Components
Merijn
This paper is available in
pdf.
Reuse between software systems is often not optimal. An important reason is
that while at the functional level well-known modularization principles are
applied for structuring functionality in modules, this is not the case at
the build level for structuring files in directories. This leads to a
situation where files are entangled in directory hierarchies and build
processes, making it hard to extract functionality and to make functionality
suitable for reuse. Consequently, software may not come available for reuse
at all, or only in rather large chunks of functionality, which may lead to
extra software dependencies.
In this paper we propose to improve this situation by applying
component-based software engineering (CBSE) principles to the build level.
We discuss how existing software systems break CBSE principles, we introduce
the notion of build-level components, and we define rules for developing
such components. To make our techniques feasible, we define a reengineering
process for semi-automatically transforming existing software systems into
build-level components. Our techniques are demonstrated in two case studies
where we decouple the source tree of Graphviz into 46 build-level
components, and analyze the source tree of Mozilla.
BibTeX Entry
@Article{dejonge2005.tse,
author = "de Jonge, M.",
title = "Build-Level Components",
journal = {IEEE Transactions on Software Engineering},
year = 2005,
volume = "31",
number = "7",
pages = "588--600",
month = jul,
}
--
MerijnDeJonge - 08 Dec 2004