Classification Tree Models of Software Quality Over Multiple Releases

  • Authors:
  • Taghi M. Khoshgoftaar;Edward B. Allen;Wendell D. Jones;John P. Hudepohl

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software quality models are tools for focusing software enhancement efforts. Such efforts are essential for mission-critical embedded software, such as telecommunications systems, because customer- discovered faults have very serious consequences and are very expensive to repair. This paper presents an empirical study that evaluated software quality models over several releases to address the question, "How long will a model yield useful predictions?"This paper also introduces the Classification And Regression Trees ( cart ) algorithm to software reliability engineering practitioners. We present our method for exploiting cart features to achieve a preferred balance between the two types of misclassification rates. This is desirable because misclassifications of fault-prone modules often have much more severe consequences than misclassifications of those that are not fault-prone.We developed two classification-tree models based on four consecutive releases of a very large legacy telecommunications system. Forty-two software product, process, and execution metrics were candidate predictors. The first software quality model used measurements of the first release as the training data set and measurements of the subsequent three releases as evaluation data sets. The second model used measurements of the second release as the training data set and measurements of the subsequent two releases as evaluation data sets. Both models had accuracy that would be useful to developers. One might suppose that software quality models lose their value very quickly over successive releases due to evolution of the product and the underlying development processes. We found the models remained useful over all the releases studied.Much of the software metrics literature has shown that software product metrics can be significant predictors of fault-prone modules. This case study showed that process and execution metrics can also be significant predictors.