Abstract
Software developers apply various techniques early in development to improve software reliability, such as extra reviews, additional testing, and strategic assignment of personnel. Due to limited resources and time, it is often not practical to enhance the reliability of all modules. Our goal is to target reliability enhancement activities to those modules that would otherwise have problems later. Prior research has shown that a software quality model based on software product and process metrics can predict which modules are likely to have faults.
A module-order model is a quantitative software quality model that is used to predict the rank-order of modules according to a quality factor, such as the number of faults. The contribution of this paper is definition of module-order models and a method for their evaluation and use. Two empirical case studies of full-scale industrial software systems provide empirical evidence of the usefulness of module-order models for targeting reliability enhancement.
Similar content being viewed by others
References
Briand, L.C., Basili, V.R., and Hetmanski, C.J. 1993. Developing interpretable models with optimized set reduction for identifying high-risk software components, IEEE Transactions on Software Engineering 19(11): 1028–1044.
Briand, L.C., El Emam, K., and Morasca, S. 1996. On the application of measurement theory in software engineering, Empirical Software Engineering: An International Journal 1(1): 61–88. See Briand et al. (1997) and Zuse (1997).
Briand, L.C., El Emam, K., and Morasca, S. 1997. Reply to Comments to the Paper: Briand, El Emam, Morasca: On the application of measurement theory in software engineering, Empirical Software Engineering: An International Journal 2(3): 317–322. See Briand et al. (1996) and Zuse (1997).
Dillon, W.R. and Goldstein, M. 1984. Multivariate Analysis: Methods and Applications, John Wiley & Sons, New York.
Ebert, C. 1996. Classification techniques for metric-based software development, Software Quality Journal 5(4): 255–272.
Fenton, N.E. and Pfleeger, S.L. 1997. Software Metrics: A Rigorous and Practical Approach, 2nd edition, PWS Publishing, London.
Gokhale, S.S. and Lyu, M.R. 1997. Regression tree modeling for the prediction of software quality, In H. Pham (ed.), Proceedings of the Third ISSAT International Conference on Reliability and Quality in Design, Anaheim, California, pp. 31–36.
Hudepohl, J.P., Aud, S.J., Khoshgoftaar, T.M., Allen, E.B., and Mayrand, J. 1996. EMERALD: Software metrics and models on the desktop, IEEE Software 13(5): 56–60.
Khoshgoftaar, T.M. and Allen, E.B. 1997. The impact of costs of misclassification on software quality modeling, In Proceedings of the Fourth International Software Metrics Symposium, Albuquerque, New Mexico, pp. 54–62.
Khoshgoftaar, T.M. and Allen, E.B. 1998a. An information theoretic approach to predicting software faults, International Journal of Reliability, Quality and Safety Engineering 5(3): 227–248.
Khoshgoftaar, T.M. and Allen, E.B. 1998b. Predicting the order of fault-prone modules in legacy software, In Proceedings of the Ninth International Symposium on Software Reliability Engineering, Paderborn, Germany, pp. 344–353.
Khoshgoftaar, T.M., Allen, E.B., Goel, N., Nandi, A., and McMullan, J. 1996a. Detection of software modules with high debug code churn in a very large legacy system, In Proceedings of the Seventh International Symposium on Software Reliability Engineering, White Plains, New York, pp. 364–371.
Khoshgoftaar, T.M., Allen, E.B., Halstead, R., Trio, G.P., and Flass, R. 1998a. Process measures for predicting software quality, Computer 31(4): 66–72.
Khoshgoftaar, T.M., Allen, E.B., Kalaichelvan, K.S., and Goel, N. 1996b. Early quality prediction: A case study in telecommunications, IEEE Software 13(1): 65–71.
Khoshgoftaar, T.M., Bhattacharyya, B.B., and Richardson, G.D. 1992a. Predicting software errors during development using nonlinear regression models: A comparative study, IEEE Transactions on Reliability 41(3): 390–395.
Khoshgoftaar, T.M., Evett, M.P., Allen, E.B., and Chien, P.-D. 1998b. An application of genetic programming to software quality prediction, In W. Pedrycz and J.F. Peters (eds.), Computational Intelligence in Software Engineering, Vol. 16 of Advances in Fuzzy Systems-Applications and Theory, World Scientific, Singapore, pp. 176–195.
Khoshgoftaar, T.M. and Munson, J.C. 1990. Predicting software development errors using software complexity metrics, IEEE Journal on Selected Areas in Communications 8(2): 253–261.
Khoshgoftaar, T.M., Munson, J.C., Bhattacharya, B.B., and Richardson, G.D. 1992b. Predictive modeling techniques of software quality from software measures, IEEE Transactions on Software Engineering 18(11): 979–987.
Khoshgoftaar, T.M., Munson, J.C., and Lanning, D.L. 1994. Alternative approaches for the use of metrics to order programs by complexity, Journal of Systems and Software 24(3): 211–221.
Khoshgoftaar, T.M., Pandya, A.S., and More, H.B., 1992c. A neural network approach for predicting software development faults, In Proceedings of the Third International Symposium on Software Reliability Engineering, Research Triangle Park, North Carolina, pp. 83–89.
Lanning, D.L. and Khoshgoftaar, T.M. 1995. The impact of software enhancement on software reliability, IEEE Transactions on Reliability 44(4): 677–682.
Leake, D.B. 1996. CBR in context: The present and future, In D.B. Leake (ed.), Case-Based Reasoning: Experiences, Lessons, and Future Directions, MIT Press, Cambridge, MA, Chapt. 1, pp. 3–30.
Lyu, M.R. 1996. Introduction, In M.R. Lyu (ed.), Handbook of Software Reliability Engineering, McGraw-Hill, New York, Chapt. 1, pp. 3–25.
Lyu, M.R., Yu, J.S., Keramidas, E., and Dalal, S.R. 1995. ARMOR: Analyzer for reducing module operational risk, In Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing, Pasadena, CA, pp. 137–142.
McCabe, T.J. and Butler, C.W. 1989. Design complexity measurement and testing, Communications of the ACM 32(12): 1415–1425.
Munson, J.C. and Khoshgoftaar, T.M. 1992. The detection of fault-prone programs, IEEE Transactions on Software Engineering 18(5): 423–433.
Myers, R.H. 1990. Classical and Modern Regression with Applications, Duxbury Series, PWS-Kent Publishing, Boston.
Nikora, A.P., Schneidewind, N.F., Munson, J.C., and Hall, G.A. 1997. IV&V issues in achieving high reliability and safety in critical control system software, In H. Pham (ed.), Proceedings of the Third ISSAT International Conference on Reliability and Quality in Design, Anaheim, CA, pp. 25–30.
Ohlsson, N. and Alberg, H. 1996. Predicting fault-prone software modules in telephone switches, IEEE Transactions on Software Engineering 22(12): 886–894.
Ohlsson, N., Helander, M., and Wohlin, C. 1996. Quality improvement by identification of fault-prone modules using software design metrics, In Proceedings of the Sixth International Conference on Software Quality, Ottawa, Ontario, Canada, pp. 2–13. Sponsored by ASQC.
Pfleeger, S.L. 1995. Experimental design and analysis in software engineering, Annals of Software Engineering 1: 219–253.
Pfleeger, S.L. 1997. Assessing measurement, IEEE Software 14(2): 25–26. Editor's introduction to special issue.
Schneidewind, N.F. 1992. Methodology for validating software metrics, IEEE Transactions on Software Engineering 18(5): 410–422.
Schneidewind, N.F. 1995. Software metrics validation: Space shuttle flight software example, Annals of Software Engineering 1: 287–309.
Seber, G.A.F. 1984. Multivariate Observations, John Wiley & Sons, New York.
Votta, L.G. and Porter, A.A. 1995. Experimental software engineering: A report on the state of the art, In Proceedings of the Seventeenth International Conference on Software Engineering, Seattle, WA, pp. 277–279.
Vouk, M.A. and Tai, K.C. 1993. Some issues in multi-phase software reliability modeling, In Proceedings of the CASCON, Toronto, Ontario, Canada, pp. 513–523.
Zuse, H. 1997. Comments to the Paper: Briand, Emam, Morasca: On the application of measurement theory in software engineering, Empirical Software Engineering: An International Journal 2(3): 313–316. See Briand et al. (1996) and Briand et al. (1997).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Khoshgoftaar, T.M., Allen, E.B. Ordering Fault-Prone Software Modules. Software Quality Journal 11, 19–37 (2003). https://doi.org/10.1023/A:1023632027907
Issue Date:
DOI: https://doi.org/10.1023/A:1023632027907