This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Evaluating Software Design Processes by Analyzing Change Data Over Time
July 1990 (vol. 16 no. 7)
pp. 729-740

An analysis is presented of early design and code change data from the software cost reduction (SCR) project, a well-reported effort conducted at the US Naval Research Laboratory from 1978 to 1988. The analyses are mostly time-based studies of the change data and relationships between the data and SCR personnel activity data. Some analyses of the change data show patterns consistent with a major goal of the SCR project: the design and development of easy-to-change software. Specifically, most changes took a day or less to uncover and resolve; the majority of changes updated at most one module. Moreover, these percentages remained fairly stable. No positive relationship appeared between error-correction effort and the number of days that an error remained in the SCR design documentation. Other analyses suggest that consistency may have been temporary. For example, the analyses suggest a stepwise growth in average change effort, and an increasing percentage of changes resulted in module interface updates. Certain specific ratios between SCR change data and personnel activity data may be possible indicators of design incompleteness.

[1] V. R. Basili and B. T. Perricone, "Software errors and complexity: An empirical investigation,"Commun. ACM, vol. 27, no. 1, p. 42-52, Jan. 1984.
[2] V. R. Basili and D. M. Weiss, "'A methodology for collecting valid software engineering data,"IEEE Trans. Software Eng., vol. SE-10. no. 6, pp. 728-738, 1984.
[3] L. A. Belady and M. M. Lehman, "A model of large program development,"IBM Syst. J., vol. 3, pp. 225-252, 1976.
[4] B. W. Boehm,Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[5] K. H. Britton and D. L. Parnas, A-7E Module Guide, Naval Res. Lab., Washington, DC, Rep. 4702, 1981.
[6] L. J. Chmura, "Proposed new design and code change report form (CRF) for the software cost reduction (SCR) project" Naval Res. Lab., Washington, DC, Tech. Memo. 7590-34:LC, 1983.
[7] L. J. Chmura and A. F. Norcio, "Accuracy of software activity data The software cost reduction project," Naval Res. Lab., Washington, DC, Rep. 8780, 1983.
[8] L. J, Chmura and D. M. Weiss, "The A-7E software requirements document: Three years of change data," Naval Res. Lab., Washington, DC, Memo. Rep. 4938, 1982.
[9] V. Church, D. Card, F. McGarry, and V. Basili, "Guide to data collection," NASA/Goddard SEL, Greenbelt, MD, Tech. Rep. SEL- 81-001, 1981.
[10] P. C. Clements, "Software cost reduction through disciplined design,"Naval Res. Lab. 1984 Rev., pp. 79-87, 1985.
[11] P. C. Clements, R. A. Parker, D. L. Parnas, and J. Shore, "A standard organization for specifying abstract interfaces," Naval Res. Lab., Washington, DC, Rcp. 8815, 1984.
[12] R. Day, "A history of software maintenance for a complex U.S. Army battlefield automated system," inProc. Conf. Software Maintenance, 1985, pp. 181-187.
[13] E. W. Dijkstra, "Cooperating sequential processes," inProgramming Languages, F. Genuys, Ed. New York: Academic. 1968, pp. 43-112.
[14] W. J. Dixon and F. J. Massey, Jr.,Introduction to Statistical Analysis. New York: McGraw-Hill, 1969.
[15] A. Endres, "An analysis of errors and their causes in system programs,"IEEE Trans. Software Eng., vol. SE-1, no. 2, pp. 140-149, 1975.
[16] R. B. Grady, "Measuring and managing software maintenance,"IEEE Software, pp. 35-45 Sept. 1987.
[17] K. L. Heninger, J. W. Kallander, J. E. Shore, D. L, Parnas, and Staff, "Software requirements for the A-7E aircraft," Naval Res. Lab., Washington, DC, Memo. Rep. 3876, 1978.
[18] B. P. Lientz, E. B. Swanson, and G. E. Tompkins, "Characteristics of application software maintenance,"Commun. ACM, vol. 21, no. 6, pp. 466-471, 1978.
[19] B. Meyer, "On formalism in specifications,"IEEE Software, vol. 2, no. 1, pp. 6-27, 1985.
[20] A. F. Norcio and L. J. Chmura, "Design activity in developing modules for complex software," inEmpirical Studies of Programmers, E. Soloway and S. Iyengar, Eds. Norwood, NJ: Ablex, 1986.
[21] A. Parker, K. L. Heninger, D. Parnas, and J. Shore, "Abstract interface specification for the device interface module," Naval Res. Lab., Washington, DC, Memo. Rep. 4385, 1980.
[22] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[23] D. L. Parnas, "Use of abstract interfaces in the development of software for embedded systems," Naval Res. Lab., Washington, DC, Rep. 8047, 1977.
[24] D. L. Parnas and P. C. Clements, "A rational design process: How and why to fake it,"IEEE Trans. Software Eng., vol. SE-12, pp. 251-257, Feb. 1986.
[25] D. L. Parnas, P. C. Clements, and D, M. Weiss, "The modular structure of complex systems,"IEEE Trans. Software Eng., vol. SE- 11, no. 3, pp. 259-266, 1985.
[26] M.L. Shooman and M.I. Bolsky, "Types, Distribution, and Test and Correction Times for Programming Errors,"Proc. Int'l Conf. Reliable Software, IEEE, New York, 1975, pp. 347-357.
[27] E. B. Swanson, "The dimensions of maintenance," inProc. Second Int. Conf. Software Engineering, 1976, pp. 492-497.
[28] D. M. Weiss, "A comparison of errors in different software-development environments" Naval Res. Lab., Washington, DC, NRL Rep. 8598, 1982.
[29] D. M. Weiss and V. R. Basili, "Evaluating software development by analysis of changes Some data from the Software Engineering Laboratory,"IEEE Trans. Software Eng., vol. SE 11, no. 2, pp. 157- 168, 1985.
[30] R. Z. Xu, "An empirical investigation" Software errors and their influence upon development of WPADT," inProc. COMPSAC 85, 1985, pp. 4-8.

Index Terms:
software design processes evaluation; early design and code change data; software cost reduction; error-correction effort; stepwise growth; module interface updates; software engineering.
Citation:
L.J. Chmura, A.F. Norcio, T.J. Wicinski, "Evaluating Software Design Processes by Analyzing Change Data Over Time," IEEE Transactions on Software Engineering, vol. 16, no. 7, pp. 729-740, July 1990, doi:10.1109/32.56099
Usage of this product signifies your acceptance of the Terms of Use.