On Measurement and Analysis of Software Changes

Software becomes better or worse because of the changes made to it. Each change to legacy software is expensive and risky but it also has potential for generating revenues because of desired new functionality or cost savings in future maintenance. Hence it is important to understand and quantify change properties in order to make good business decisions. Particularly good sources of historical information about changes, especially for legacy software, are generated by change management systems used by most large software organizations. This paper describes how to measure change properties and how to use that information to identify cost and quality drivers in software production. The methodology is codiied in a system called SoftChange. SoftChange was developed for use with the 5ESS TM switch at Lucent Technologies , but can also be used with other software projects using the same, widespread version control systems. SoftChange deenes, constructs and presents essential measures of software change size, complexity, and developer expertise. Also, it provides tools for imputing the purpose and eeort required for a change, and generates predictions of the quality of a change. This methodology uses measurements of changes to beneet the software development process and to generate insights about software evolution.

[1]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[2]  David W. Scott The New S Language , 1990 .

[3]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[4]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[5]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[6]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[7]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[8]  Michael R. Lyu,et al.  What is software reliability? , 1994, Proceedings of COMPASS'94 - 1994 IEEE 9th Annual Conference on Computer Assurance.

[9]  Niclas Ohlsson,et al.  Predicting Fault-Prone Software Modules in Telephone Switches , 1996, IEEE Trans. Software Eng..

[10]  Audris Mockus,et al.  Flexible Information Visualization Components for Authoring WWW Live Documents , 1999 .

[11]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[12]  Siba N. Mohanty,et al.  Models and Measurements for Quality Assessment of Software , 1979, CSUR.

[13]  Norman F. Schneidewind,et al.  An Experiment in Software Error Data Collection and Analysis , 1979, IEEE Transactions on Software Engineering.

[14]  Taghi M. Khoshgoftaar,et al.  Regression modelling of software quality: empirical investigation☆ , 1990 .

[15]  Harvey P. Siy,et al.  Parallel changes in large scale software development: an observational case study , 1998, TSEM.

[16]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[17]  Tze-Jie Yu,et al.  An Analysis of Several Software Defect Models , 1988, IEEE Trans. Software Eng..

[18]  Stephen G. Eick,et al.  Estimating software fault content before coding , 1992, International Conference on Software Engineering.

[19]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[20]  Dennis A. Christenson,et al.  Estimating the fault content of software using the fix-on-fix model , 1996 .

[21]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[22]  Audris Mockus,et al.  Identifying reasons for software changes using historic databases , 2000, Proceedings 2000 International Conference on Software Maintenance.

[23]  George A. Miller,et al.  Implementing a Lexical Network , 1990 .

[24]  James Stephen Marron,et al.  ADAPTING TO A NEW ENVIRONMENT: How A Legacy Software Organization Copes With Volatility and Change , 1998 .