Skip to main content
Log in

Classification techniques for metric-based software development

  • Papers
  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Managing software development and maintenance projects requires predictions about components of the software system that are likely to have a high error rate or that need high development effort. The value of any classification is determined by the accuracy and cost of such predictions. The paper investigates the hypothesis whether fuzzy classification applied to criticality prediction provides better results than other classification techniques that have been introduced in this area. Five techniques for identifying error-prone software components are compared, namely Pareto classification, crisp classification trees, factor-based discriminant analysis, neural networks, and fuzzy classification. The comparison is illustrated with experimental results from the development of industrial real-time projects. A module quality model — with respect to changes — provides both quality of fit (according to past data) and predictive accuracy (according to ongoing projects). Fuzzy classification showed best results in terms of overall predictive accuracy.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. B.A. Kitchenham and L. Pickard. Towards a constructive quality model, Software Engineering Journal, 2 (1987) 114–126.

    Google Scholar 

  2. A.A. Porter and R.W. Selby. Empirically guided software development using metric-based classification trees, IEEE Software, 7 (1990) 46–54.

    Google Scholar 

  3. G. Stark, R.C. Durst and C.W. Vowell. Using metrics in management decision making, IEEE Computer, 27 (1994) 42–48.

    Google Scholar 

  4. J.C. Munson and T.M. Khoshgoftaar. Regression modelling of software quality: empirical investigation, Information and Software Technology, 32 (1990) 106–114.

    Google Scholar 

  5. N.F. Schneidewind. Validating metrics for ensuring space shuttle flight software quality, IEEE Computer, 27 (1994) 50–57.

    Google Scholar 

  6. R.W. Selby and V.R. Basili. Analyzing error-prone system structure, IEEE Transactions on Software Engineering, 17 (1991) 141–152.

    Google Scholar 

  7. C. Ebert and T. Liedtke. An integrated approach for criticality prediction. Proceedings of 6th International Symposium on Software Reliability Engineering ISSRE'95. (IEEE Computer Society Press, Los Alamitos, CA 1995).

    Google Scholar 

  8. N.E. Fenton. Software Metrics: A Rigorous Approach (Chapman & Hall, London, 1991).

    Google Scholar 

  9. R.B. Grady. Practical Software Metrics for Project Management and Process Improvement (Prentice Hall, Englewood Cliffs, NJ, 1992).

    Google Scholar 

  10. C. Ebert. Visualization techniques for analyzing and evaluating software measures, IEEE Transactions on Software Engineering, 18 (1992) 1029–1034.

    Google Scholar 

  11. R.W. Selby and A.A. Porter. Learning from examples: generation and evaluation of decision trees for software resource analysis. IEEE Transactions on Software Engineering, 14 (1988) 1743–1757.

    Google Scholar 

  12. D.N. Card and R.L. Glass. Measuring Software Design Quality (Prentice Hall. Englewood Cliffs, NJ, 1990).

    Google Scholar 

  13. L.C. Briand, V.R. Basili and W.M. Thomas. A pattern recognition approach for software engineering data analysis, IEEE Transactions on Software Engineering, 18 (1992) 931–942.

    Google Scholar 

  14. W. Behrendt, S.C. Lambert et al. A metrication framework for knowledge-based systems. In Proceedings of Eurometrics '92, pp. 197–210 (Comm. of the E.C.: EUREKA, Brussels, April 1992).

    Google Scholar 

  15. L. Breiman, J.H. Friedman, R.A. Olshen and C.J. Stone. Classification and Regression Trees (Wadsworth, Belmont, CA, 1984).

    Google Scholar 

  16. J.J. Shann and H.C. Fu. A fuzzy neural network for rule acquiring on fuzzy control systems, Fuzzy Sets and Systems, 71 (1995) 345–357.

    Google Scholar 

  17. W.R. Dillon and M. Goldstein. Multivariate Analysis-Methods and Applications (John Wiley & Sons, New York, 1984).

    Google Scholar 

  18. T. Khoshgoftaar and D.L. Lanning. A neural network approach for early detection of program modules having high risk in the maintenance phase, Journal of Systems and Software 29 (1995) 85–91.

    Google Scholar 

  19. J.J. Buckley and Y. Hayashi. Neural nets for fuzzy systems, Fuzzy Sets and Systems, 71 (1995) 265–276.

    Google Scholar 

  20. H.-J. zimmermann. Fuzzy Set Theory and its Applications 2nd edition (Kluwer, Boston, 1991).

    Google Scholar 

  21. C. Ebert. Rule-based fuzzy classification for software quality control, Fuzzy Sets and Systems, 63 (1994) 349–358.

    Google Scholar 

  22. M.G. Kendall and A. Stuart. The Advanced Theory of Statistics, Vol. II (Griffin, London, 1961).

    Google Scholar 

  23. C. Debou, N. Fuchs and H. Saria. Selling believable technology, IEEE Software, (1993).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ebert, C. Classification techniques for metric-based software development. Software Qual J 5, 255–272 (1996). https://doi.org/10.1007/BF00209184

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00209184

Keywords

Navigation