This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
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.
Citation:
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.