Computer Science – Software Engineering
Scientific paper
2005-08-03
Library-Centric Software Design (LCSD 2005), an OOPSLA 2005 workshop
Computer Science
Software Engineering
Scientific paper
We analyze software reuse from the perspective of information theory and Kolmogorov complexity, assessing our ability to ``compress'' programs by expressing them in terms of software components reused from libraries. A common theme in the software reuse literature is that if we can only get the right environment in place-- the right tools, the right generalizations, economic incentives, a ``culture of reuse'' -- then reuse of software will soar, with consequent improvements in productivity and software quality. The analysis developed in this paper paints a different picture: the extent to which software reuse can occur is an intrinsic property of a problem domain, and better tools and culture can have only marginal impact on reuse rates if the domain is inherently resistant to reuse. We define an entropy parameter $H \in [0,1]$ of problem domains that measures program diversity, and deduce from this upper bounds on code reuse and the scale of components with which we may work. For ``low entropy'' domains with $H$ near 0, programs are highly similar to one another and the domain is amenable to the Component-Based Software Engineering (CBSE) dream of programming by composing large-scale components. For problem domains with $H$ near 1, programs require substantial quantities of new code, with only a modest proportion of an application comprised of reused, small-scale components. Preliminary empirical results from Unix platforms support some of the predictions of our model.
No associations
LandOfFree
Software Libraries and Their Reuse: Entropy, Kolmogorov Complexity, and Zipf's Law does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with Software Libraries and Their Reuse: Entropy, Kolmogorov Complexity, and Zipf's Law, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software Libraries and Their Reuse: Entropy, Kolmogorov Complexity, and Zipf's Law will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-39910