Model-Based Identification of Fault-Prone Components

  • Stefan Wagner
  • Jan Jürjens
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3463)


The validation and verification of software is typically a costly part of the development. A possibility to reduce costs is to concentrate these activities on the fault-prone components of the system. A classification approach is proposed that identifies these components based on detailed UML models. For this mainly existing code metrics are tailored to be applicable to models and are combined to a suite. Two industrial case studies confirm the ability of the approach to identify fault-prone components.


State Machine Industrial Case Study Metrics Suite Guard Condition Cyclomatic Complexity 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Myers, G.: The Art of Software Testing. John Wiley & Sons, Chichester (1979)Google Scholar
  2. 2.
    Khoshgoftaar, T., Woodcock, T.: Predicting Software Development Errors Using Software Complexity Metrics. IEEE Journal on Selected Areas in Communications 8, 253–261 (1990)CrossRefGoogle Scholar
  3. 3.
    Munson, J., Khoshgoftaar, T.: Software Metrics for Reliability Assessment. In: Lyu, M.R. (ed.) Handbook of Software Reliability Engineering. IEEE Computer Society Press and McGraw-Hill (1996)Google Scholar
  4. 4.
    Rosenberg, L., Hammer, T., Shaw, J.: Software Metrics and Reliability. In: Proc. 9th International Symposium on Software Reliability Engineering (ISSRE 1998). IEEE, Los Alamitos (1998)Google Scholar
  5. 5.
    Card, D., Agresti, W.: Measuring Software Design Complexity. The Journal of Systems and Software 8, 185–197 (1988)CrossRefGoogle Scholar
  6. 6.
    Blundell, J., Hines, M., Stach, J.: The Measurement of Software Design Quality. Annals of Software Engineering 4, 235–255 (1997)CrossRefGoogle Scholar
  7. 7.
    Wang, W.L., Wu, Y., Chen, M.H.: An Architecture-Based Software Reliability Model. In: Proc. Pacific Rim International Symposium on Dependable Computing (PRDC 1999), pp. 143–150 (1999)Google Scholar
  8. 8.
    Chidamber, S., Kemerer, C.: A Metrics Suite for Object Oriented Design. IEEE Trans. Software Eng. 20, 476–493 (1994)CrossRefGoogle Scholar
  9. 9.
    Basili, V., Briand, L., Melo, W.: A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Trans. Software Eng. 22, 751–761 (1996)CrossRefGoogle Scholar
  10. 10.
    Object Management Group: UML 2.0 Superstructure Final Adopted specification, OMG Document ptc/03-08-02 (2003)Google Scholar
  11. 11.
    McCabe, T.: A Complexity Measure. IEEE Trans. Software Eng. 5, 45–50 (1976)MathSciNetGoogle Scholar
  12. 12.
    Melton, A., Gustafson, D., Bieman, J., Baker, A.: A Mathematical Perspective for Software Measures Research. IEE/BCS Software Engineering Journal 5, 246–254 (1990)CrossRefGoogle Scholar
  13. 13.
    Fenton, N., Pfleeger, S.: Software Metrics. A Rigorous & Practical Approach, 2nd edn. International Thomson Publishing (1997)Google Scholar
  14. 14.
    Henry, S., Selig, C.: Predicting Source-Code Complexity at the Design Stage. IEEE Software 7, 36–44 (1990)CrossRefGoogle Scholar
  15. 15.
    Prenninger, W., Pretschner, A.: Abstractions for Model-Based Testing. In: Pezze, M. (ed.) Proc. Test and Analysis of Component-based Systems, TACoS 2004 (2004)Google Scholar
  16. 16.
    Huber, F., Schätz, B., Schmidt, A., Spies, K.: AutoFocus: A tool for distributed systems specification. In: Jonsson, B., Parrow, J. (eds.) FTRTFT 1996. LNCS, vol. 1135, pp. 467–470. Springer, Heidelberg (1996)Google Scholar
  17. 17.
    Selic, B., Gullekson, G., Ward, P.: Real-Time Object-Oriented Modeling. John Wiley & Sons, Chichester (1994)zbMATHGoogle Scholar
  18. 18.
    Selic, B., Rumbaugh, J.: Using UML for Modeling Complex Real-Time Systems (1998), Available at
  19. 19.
    Mayer, T., Hall, T.: A Critical Analysis of Current OO Design Metrics. Software Quality Journal 8, 97–110 (1999)CrossRefGoogle Scholar
  20. 20.
    Binkley, A., Schach, S.: Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures. In: Proc. 20th International Conference on Software Engineering (ICSE 1998), pp. 452–455. IEEE Computer Society, Los Alamitos (1998)CrossRefGoogle Scholar
  21. 21.
    Pintér, G., Majzik, I.: Program Code Generation based on UML Statechart Models. In: Proc. 10th PhD Mini-Symposium, Budapest University of Technology and Economics, Department of Measurement and Information Systems (2003)Google Scholar
  22. 22.
    Wagner, S.: Efficiency Analysis of Defect-Detection Techniques. Technical Report TUMI-0413, Institut für Informatik, Technische Universität München (2004)Google Scholar
  23. 23.
    Musa, J.: Software Reliability Engineering. McGraw-Hill, New York (1999)Google Scholar
  24. 24.
    The ENTERPRISE Program: Mayday: System Specifications (1997) (January 2005), Available at
  25. 25.
    The ENTERPRISE Program: Colorado Mayday Final Report (1998) (January 2005), Available at
  26. 26.
    Pretschner, A., Prenninger, W., Wagner, S., Kühnel, C., Baumgartner, M., Sostawa, B., Zölch, R., Stauner, T.: One Evaluation of Model-Based Testing and its Automation. In: Proc. 27th International Conference on Software Engineering, ICSE 2005 (2005) (to appear)Google Scholar
  27. 27.
    MOST Cooperation: MOST Media Oriented System Transport—Multimedia and Control Networking Technology. MOST Specification Rev. 2.3 (2004)Google Scholar
  28. 28.
    In, P., Kim, S., Barry, M.: UML-based Object-Oriented Metrics for Architecture Complexity Analysis. In: Proc. Ground System Architectures Workshop (GSAW 2003), The Aerospace Corporation (2003)Google Scholar
  29. 29.
    Douglass, B.: Computing Model Complexity, January 2005 (2004), Available at
  30. 30.
    Bondavalli, A., Mura, I., Majzik, I.: Automated Dependability Analysis of UML Designs. In: Proc. Second IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (1999)Google Scholar
  31. 31.
    Bondavalli, A., Dal Cin, M., Latella, D., Majzik, I., Pataricza, A., Savoia, G.: Dependability Analysis in the Early Phases of UML Based System Design. Journal of Computer Systems Science and Engineering 16, 265–275 (2001)Google Scholar
  32. 32.
    Huszerl, G., Majzik, I., Pataricza, A., Kosmidis, K., Cin, M.D.: Quantitative Analysis of UML Statechart Models of Dependable Systems. The Computer Journal 45, 260–277 (2002)zbMATHCrossRefGoogle Scholar
  33. 33.
    Jürjens, J., Wagner, S.: Component-based Development of Dependable Systems with UML. In: Atkinson, C., Bunse, C., Gross, H.G., Peper, C. (eds.) Embedded System Development with Components, Springer, Heidelberg (2005) (to appear)Google Scholar
  34. 34.
    Munson, J., Khoshgoftaar, T.: The Detection of Fault-Prone Programs. IEEE Trans. Software Eng. 18, 423–433 (1992)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Stefan Wagner
    • 1
  • Jan Jürjens
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGarchingGermany

Personalised recommendations