Predicting Testability of Program Modules Using a Neural Network

  • Authors:
  • Taghi M. Khoshgoftaar;Edward B. Allen;Zhiwei Xu

  • Affiliations:
  • -;-;-

  • Venue:
  • ASSET '00 Proceedings of the 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology (ASSET'00)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Voas defines testability as the probability that a test case will fail if the program has a fault. It is defined in the context of an oracle for the test, and a distribution of test cases, usually emulating operations. Because testability is a dynamic attribute of software, it is very computation-intensive to measure directly.This paper presents a case study of real-time avionics software to predict the testability of each module from static measurements of source code. The static software metrics take much less computation than direct measurement of testability. Thus, a model based on inexpensive measurements could be an economical way to take advantage of testability attributes during software development.We found that neural networks are a promising technique for building such predictive models, because they are able to model non-linearities in relationships. Our goal is to predict a quantity between zero and one whose distribution is highly skewed toward zero. This is very difficult for standard statistical techniques. In other words, high-testability modules present a challenging prediction problem that is appropriate for neural networks.