Software Errors and Software Maintenance Management. Banker, R. D.; Datar, S. M.; Kemerer, C. F.; and Zweig, D. 3(1-2):25–41.
Software Errors and Software Maintenance Management [link]Paper  doi  abstract   bibtex   
A management model for explaining software errors is developed and estimated. The model is used to analyze two years of error log data at a commercial site. The focus is on identifying managerially controllable factors which affect software reliability. At the research site, application systems which (1) underwent frequent modification; (2) were maintained by programmers with low levels of application experience; (3) had high reliability requirements, and (4) had high levels of static complexity all showed particularly high error rates, other things being equal. It is suggested that that managers can make quantified judgements about the degree to which they wish to reduce error rates by implementing a number of procedures, including enforcing release control, assigning more experienced maintenance programmers, and establishing and enforcing complexity metric standards. [Excerpt: Conclusion] In this paper an explanatory model of error rates which does not assume a constant decline in errors over time was developed. The explanatory variables used in this model extended the set of variables proposed by past research. In general, those variables proposed to affect development reliability in the former case were also found to be important factors in a maintenance environment. Additional factors in the model which were relatively controllable by maintenance management were programmer application experience and system volatility, with the impact of the latter being particularly pronounced. In particular, very frequent minor modifications to a system are associated with a general increase in error rates. More frequent changes mean more errors. This implies that a maintenance team can reduce its error rates by consolidating or batching modifications into relatively infrequent releases - a conclusion which is not at odds with much conventional wisdom. But there is usually much organizational pressure to ignore this factor and to implement modifications as soon as possible. Armed with the quantitative results from the model, managers can seek to rationally balance these two concerns. [\n] Programmers' application experience was also important, with systems maintained by relatively inexperienced programmers averaging significantly higher error rates. Of course, the more experienced programmers typically command higher wages, and programmers who have maintained a system long enough may be particularly anxious to move on to new tasks. Managers must decide what they are willing to pay for the estimated reduction in error rates from higher application experience. [\n] Error rates increase with software complexity, but this complexity reflects a decision made early in the system's life. The findings suggest that a deliberate attempt, at the time of development, to control software complexity, could significantly reduce error rates over the life of the software. The model presented here can be used to cost-justify such an attempt. [...]
@article{bankerSoftwareErrorsSoftware2002,
  title = {Software Errors and Software Maintenance Management},
  author = {Banker, Rajiv D. and Datar, Srikant M. and Kemerer, Chris F. and Zweig, Dani},
  date = {2002},
  journaltitle = {Information Technology and Management},
  volume = {3},
  pages = {25--41},
  issn = {1573-7667},
  doi = {10.1023/A:1013156608583},
  url = {https://doi.org/10.1023/A:1013156608583},
  abstract = {A management model for explaining software errors is developed and estimated. The model is used to analyze two years of error log data at a commercial site. The focus is on identifying managerially controllable factors which affect software reliability. At the research site, application systems which (1) underwent frequent modification; (2) were maintained by programmers with low levels of application experience; (3) had high reliability requirements, and (4) had high levels of static complexity all showed particularly high error rates, other things being equal. It is suggested that that managers can make quantified judgements about the degree to which they wish to reduce error rates by implementing a number of procedures, including enforcing release control, assigning more experienced maintenance programmers, and establishing and enforcing complexity metric standards.

[Excerpt: Conclusion] In this paper an explanatory model of error rates which does not assume a constant decline in errors over time was developed. The explanatory variables used in this model extended the set of variables proposed by past research. In general, those variables proposed to affect development reliability in the former case were also found to be important factors in a maintenance environment. Additional factors in the model which were relatively controllable by maintenance management were programmer application experience and system volatility, with the impact of the latter being particularly pronounced. In particular, very frequent minor modifications to a system are associated with a general increase in error rates. More frequent changes mean more errors. This implies that a maintenance team can reduce its error rates by consolidating or batching modifications into relatively infrequent releases - a conclusion which is not at odds with much conventional wisdom. But there is usually much organizational pressure to ignore this factor and to implement modifications as soon as possible. Armed with the quantitative results from the model, managers can seek to rationally balance these two concerns. [\textbackslash n] Programmers' application experience was also important, with systems maintained by relatively inexperienced programmers averaging significantly higher error rates. Of course, the more experienced programmers typically command higher wages, and programmers who have maintained a system long enough may be particularly anxious to move on to new tasks. Managers must decide what they are willing to pay for the estimated reduction in error rates from higher application experience. [\textbackslash n] Error rates increase with software complexity, but this complexity reflects a decision made early in the system's life. The findings suggest that a deliberate attempt, at the time of development, to control software complexity, could significantly reduce error rates over the life of the software. The model presented here can be used to cost-justify such an attempt. [...]},
  keywords = {*imported-from-citeulike-INRMM,~INRMM-MiD:c-13847296,cyclomatic-complexity,lines-of-code,nested-loops-and-conditional-structures,software-errors,software-uncertainty},
  number = {1-2}
}
Downloads: 0