Identifying reasons for software changes using historic databases
Top Cited Papers
- 1 January 2000
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10636773,p. 120-130
- https://doi.org/10.1109/icsm.2000.883028
Abstract
Large scale software products must constantly change in order to adapt to a changing environment. Studies of historic data from legacy software systems have identified three specific causes of this change: adding new features; correcting faults; and restructuring code to accommodate future changes. Our hypothesis is that a textual description field of a change is essential to understanding why that change was performed. Also, we expect that difficulty, size, and interval would vary strongly across different types of changes. To test these hypotheses we have designed a program which automatically classifies maintenance activity based on a textual description of changes. Developer surveys showed that the automatic classification was in agreement with developer opinions. Tests of the classifier on a different product found that size and interval for different types of changes did not vary across two products. We have found strong relationships between the type and size of a change and the time required to carry it out. We also discovered a relatively large amount of perfective changes in the system we examined. From this study we have arrived at several suggestions on how to make version control data useful in diagnosing the state of a software project, without significantly increasing the overhead for the developer using the change management system.Keywords
This publication has 13 references indexed in Scilit:
- Inferring change effort from configuration management databasesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Software configuration management for the 21st centuryBell Labs Technical Journal, 2002
- Does code decay? Assessing the evidence from change management dataIEEE Transactions on Software Engineering, 2001
- Predicting fault incidence using software change historyIEEE Transactions on Software Engineering, 2000
- Determinants of software maintenance profiles: an empirical investigationJournal of Software Maintenance: Research and Practice, 1997
- Implementing a Lexical NetworkInternational Journal of Lexicography, 1990
- Generalized Linear ModelsPublished by Springer Nature ,1989
- Advances in software inspectionsIEEE Transactions on Software Engineering, 1986
- The source code control systemIEEE Transactions on Software Engineering, 1975
- A Coefficient of Agreement for Nominal ScalesEducational and Psychological Measurement, 1960