Mining System Tests to Aid Software Maintenance

  • Authors:
  • Hira Agrawal;James L. Alberi;Joseph R. Horgan;J. Jenny Li;Saul London;W. Eric Wong;Sudipto Ghosh;Norman Wilde

  • Affiliations:
  • -;-;-;-;-;-;-;-

  • Venue:
  • Computer
  • Year:
  • 1998

Quantified Score

Hi-index 4.10

Visualization

Abstract

Before January 1, 2000, hundreds of millions of lines of legacy code must be understood, modified, and retested to avoid software failures as the year changes from "99" to "00." This Year 2000 crisis is merely an acute phase of a chronic problem. Software engineers in general spend more than half their development time understanding, modifying, and retesting existing code. Software companies have not tapped an important resource in performing these tasks. Most software development projects have a set of regression tests to help find bugs in the next release. But tests can be used for more than just finding errors. Modern test analysis tools can extract from these and other tests a wealth of untapped information that can be useful in later software maintenance projects. In this article, we describe techniques that maintainers can use to enhance program understanding, debugging, and testing-the three most costly tasks in software maintenance. We have incorporated the techniques as part of Bellcore's XSuds tool suite, a software understanding and diagnosis system.