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