This Article 
 Bibliographic References 
 Add to: 
An Enhanced Neural Network Technique for Software Risk Analysis
September 2002 (vol. 28 no. 9)
pp. 904-912

Abstract—An enhanced technique for risk categorization is presented. This technique, PCA-ANN, provides an improved capability to discriminate high-risk software. The approach draws on the combined strengths of pattern recognition, multivariate statistics and neural networks. Principal component analysis is utilized to provide a means of normalizing and orthogonalizing the input data, thus eliminating the ill effects of multicollinearity. A neural network is used for risk determination/classification. A significant feature of this approach is a procedure, herein termed cross-normalization. This procedure provides the technique with capability to discriminate data sets that include disproportionately large numbers of high-risk software modules.

[1] M. Saboe, “Associate Director, Next Generation Software Engineering,” U.S. Army Tank Automotive Research and Development Command, memo, 1997.
[2] V. Rezendes, “Testimony before House Subcommittee on Energy and Environment,” Technical Report GAO/T-RCED-97-92, House Committee on Science, 1997.
[3] D.E. Neumann, “An Analysis of the Monetary Risk Associated with Project Cost Estimate Variances,” HAB EMD-II Postmortem Report, J. Hall Jr. ed., General Dynamics Land Systems internal report, 1997.
[4] Proc. SEI Conf. Risk Management, Managing Uncertainty in a Changing World, Apr. 1997.
[5] A. McKinlay VI, “Software System Safety Engineering,” Software Safety Eng. Course, June 1992.
[6] U.S. Air Force, “Software Risk Abatement,” AFSC/AFLC Pamphlet 800-45, Sept. 1988.
[7] L.L. Russo, “Software System Safety Guide,” U.S. Army Communications Electronics Command report CECOM-TR-92-2, May 1992.
[8] P.E. Green, Analyzing Multivariate Data. Hinsdale Ill.: Dryden Press, 1978.
[9] T.M. Khoshgoftaar and J.C. Munson, “Predicting Software Development Errors Using Complexity Metrics,” J. Selected Areas Comm., vol. 8, no. 2, pp. 253–261, Feb. 1990.
[10] J.C. Munson and T.M. Khoshgoftaar, “Applications of a Relative Complexity Metric for Software Project Management,” J. Systems and Software, vol. 12, 1990.
[11] John C. Munson and Taghi M. Khoshgoftaar, "Measuring Dynamic Program Complexity," IEEE Software, vol. 9, pp. 48-49, Nov. 1992.
[12] C.R. Cook and A. Roesch, “Real-Time Software Metrics,” J. Systems and Software, vol. 24, 1994.
[13] D.L. Lanning and T.M. Koshgoftaar, “An Empirical Model of Enhancement-Induced Defect Activity in Software,” IEEE Trans. Reliability, vol. 44, no. 4, Dec. 1995.
[14] D.L. Lanning, “Modeling the Relationship Between Source Code Complexity and Maintenance Difficulty,” Computer, vol. 27, no. 9, Sept. 1994.
[15] W.S. McCulloch and W. Pitts, “A Logical Calculus of Ideas Immanent in Nervous Activity,” Bulletin of Math. Bio-Physics, vol. 5, 1943.
[16] A.K. Jain, J. Mao, and K.M. Mohiuddin, "Artificial Neural Networks: A Tutorial," Computer, vol. 29, pp. 31-44, Mar. 1996.
[17] N. Karunanithi, D. Whitley, and Y.K. Malaiya, "Using Neural Networks in Reliability Prediction," IEEE Software, vol. 9, no. 4, pp. 53-59, 1992.
[18] D.L. Lanning, “A Neural Network Approach for Early Detection of Program Modules Having High Risk in the Maintenance Phase,” J. Systems and Software, vol. 29, 1995.
[19] S.A. Sherer, “Software Fault Prediction,” J. Systems and Software, vol. 29, no. 2, May 1995.
[20] T.M. Khoshgoftaar, R.M. Szabo, and P.J. Guasti, “Exploring the Behaviour of Neural Network Software Quality Models,” Software Eng. J., May 1995.
[21] M.H. Halstead, Elements of Software Science. North-Holland, 1977.
[22] T.J. McCabe, “A Complexity Metric,” IEEE Trans. Software Eng., vol. 2, no. 4, Dec. 1976.
[23] H. Zuse, Software Complexity: Measures and Methods. deGruyter, 1990.
[24] J.M. Hops and J.S. Sherif, “Development and Application of Composite Complexity Models and a Relative Complexity Metric in a Software Maintenance Environment,” J. Systems and Software, vol. 31, pp. 157-169, 1995.
[25] L.H. Binder and J.H. Poore, “Field Experiments with Local Software Quality Metrics,” Software Practical Experiments, vol. 20, pp. 631-647, 1990.
[26] H.A. Jensen and K. Vairavan, “An Experimental Study of Software Metrics for Real-Time Software,” IEEE Trans. Software Eng., vol. 11, no. 2, Feb. 1985.
[27] L.A. Belady, “Software Geometry,” Proc. 1980 Int'l Computer Symp., Dec. 1980.
[28] N.R. Hall and S. Preiser, “Combined Network Complexity Measures,” IBM J. Research and Development, vol. 28, no. 1, Jan. 1984.
[29] M.J. Shepperd, “Design Metrics, an Empirical Analysis,” Software Eng. J., vol. 5, no. 1, 1990.
[30] S.M. Henry and D. Kafura, “Software Structure Metrics Based on Information Flow,” IEEE Trans. Software Eng., Sept. 1981.
[31] J.C. Munson and T.M. Khoshgoftaar, “Software Metrics for Reliability Assessment,” Handbook of Software Reliability Eng., M.R. Lyu ed., chapter 12, 1996.
[32] D.E. Neumann, “Software Project Risk Analysis Models With Application to Embedded Systems,” PhD dissertation, Wayne State Univ., 1999.
[33] B.A. Kitchenham, S.L. Pfleeger, and N. Fenton, “Towards a Framework for Software Measurement Validation,” IEEE Trans. Software Eng., vol. 21, no. 12, pp. 929-944, Dec. 1995.
[34] R. Lind and K. Vairavan, “An Experimental Investigation of Software Metrics and Their Relationship to Software Development Effort,” IEEE Trans. Software Eng., vol. 15, no. 5, May 1989.
[35] C.T. Lin and C.S.G. Lee, Neural Fuzzy Systems. Prentice Hall, 1996.
[36] M. Khoshgoftaar, et al., “Using Process History to Predict Software Quality,” Computer, Apr. 1998.

Index Terms:
Software risk analysis and defect prediction, decision making, mathematical models, system process models.
Donald E. Neumann, "An Enhanced Neural Network Technique for Software Risk Analysis," IEEE Transactions on Software Engineering, vol. 28, no. 9, pp. 904-912, Sept. 2002, doi:10.1109/TSE.2002.1033229
Usage of this product signifies your acceptance of the Terms of Use.