wlrush@water.waterloo.edu (Wenchantress Wench Wendall) (10/12/89)
will speak on ``Software Complexity and Maintainability''
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WATERLOO
SEMINAR ACTIVITIES
SOFTWARE ENGINEERING SEMINAR
-Thursday, October 19, 1989
Mr. Dani Zweig, Carnegie-Mellon Univ., will speak on
``Software Complexity and Maintainability''
TIME: 3:30 p.m.
ROOM: DC 1302
ABSTRACT
It is generally assumed that, in the long run,
complex, ill-structured code will be difficult and
costly to maintain, even in cases where it can be
developed cheaply. Since most software costs are
expended in maintenance, rather than new development,
such code is no bargain. We will test the assumption
that the maintainability of a system is influenced by
the complexity of the code. In particular, in this
study we investigate the impact of software complexity
upon the cost of software maintenance.
To do this, we must first select appropriate
metrics for measuring software complexity. An
examination of the literature reveals an embarrassment
of riches: One can find over a hundred metrics from
which to choose. An empirical analysis of COBOL
programs at a commercial data processing site was
undertaken to analyze many of the major software
complexity metrics which have been proposed.
Automated tools were used to compute a large number
of complexity metrics for several thousand programs.
Analysis of these metrics determined that almost their
entire information content could be represented by four
selected metrics: program size, average subprogram
size, density of decision points within a program, and
density of branching within a program.
A sample of 62 maintenance projects at the same
research site was analyzed in order to estimate the
cost-impact of software complexity. Controlling for
project size, programmer skill and experience, and the
use of software tools, we find that program size,
modularity, and the degree of branching significantly
affect software maintenance costs. The methodology used
October 5, 1989
- 2 -
allows us to make actual dollar estimates of the costs
of software complexity.
October 5, 1989