Abstract

This paper investigates the application of principal components analysis to neural-network modeling. The goal is to predict the number of faults. Ten software product measures were gathered from a large commercial software system. Principal components were then extracted from these measures. We trained two neural networks, one with the observed (raw) data, and one with principal components. We compare the predictive quality of the two competing models using data collected from two similar systems. These systems were developed by the same organization, and used the same development process. For the environment we studied, applying principal-components analysis to the raw data yields a neural-network model whose predictive quality is statistically better than a neural-network model developed using the raw data alone. The improvement in model predictive quality is appreciable from a practitioner's point of view. We concur with published literature regarding the number of hidden layers needed in a neural-network model. A single hidden layer of neurons yielded a network of sufficient generality to be useful when predicting faults. This is important, because networks with more hidden layers take correspondingly more time to train. The application of alternative network architectures and training algorithms in software engineering should continue to be investigated.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call