Automating and Evaluating Probabilistic Cause-Effect Diagrams to Improve Defect Causal Analysis

  • Marcos Kalinowski
  • Emilia Mendes
  • Guilherme H. Travassos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6759)


Defect causal analysis (DCA) has shown itself an efficient means to obtain product-focused software process improvement. A DCA approach, called DPPI, was assembled based on guidance acquired through systematic reviews and feedback from experts in the field. To our knowledge, DPPI represents an innovative approach integrating cause-effect learning mechanisms (Bayesian networks) into DCA meetings, by using probabilistic cause-effect diagrams. The experience of applying DPPI to a real Web-based software project showed its feasibility and provided insights into the requirements for tool support. Moreover, it was possible to observe that DPPI’s Bayesian diagnostic inference predicted the main defect causes efficiently, motivating further investigation. This paper describes (i) the framework built to support the application of DPPI and automate the generation of the probabilistic cause-effect diagrams, and (ii) the results of an experimental study aiming at investigating the benefits of using DPPI’s probabilistic cause-effect diagrams during DCA meetings.


Bayesian Networks Defect Causal Analysis Defect Prevention Defect Prevention-based Process Improvement DPPI Probabilistic Cause-Effect Diagrams Product Focused Process Improvement 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Card, D.N.: Defect Causal Analysis Drives Down Error Rates. IEEE Software 10(4), 98–99 (1993)CrossRefGoogle Scholar
  2. 2.
    Mays, R.G., Jones, C.L., Holloway, G.J., Studinski, D.P.: Experiences with Defect Prevention. IBM Systems Journal 29(1), 4–32 (1990)CrossRefGoogle Scholar
  3. 3.
    Dangerfield, O., Ambardekar, P., Paluzzi, P., Card, D., Giblin, D.: Defect Causal Analysis: A Report from the Field. In: Proceedings of International Conference of Software Quality, American Society for Quality Control (1992)Google Scholar
  4. 4.
    Jalote, P., Agrawal, N.: Using Defect Analysis Feedback for Improving Quality and Productivity in Iterative Software Development. In: 3rd ICICT, Cairo, pp. 701–713 (2005)Google Scholar
  5. 5.
    Card, D.N.: Defect Analysis: Basic Techniques for Management and Learning. In: Advances in Computers, vol. 65, ch. 7, pp. 259–295 (2005)Google Scholar
  6. 6.
    Kalinowski, M., Travassos, G.H., Card, D.N.: Guidance for Efficiently Implementing Defect Causal Analysis. In: VII Brazilian Symposium on Software Quality (SBQS), Florianópolis, Brazil (2008)Google Scholar
  7. 7.
    Kalinowski, M., Travassos, G.H., Card, D.N.: Towards a Defect Prevention Based Process Improvement Approach. In: 34th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2008), Parma, Italy, pp. 199–206 (2008)Google Scholar
  8. 8.
    Ishikawa, K.: Guide to Quality Control. Asian Productivity Organization, Tokyo (1976)Google Scholar
  9. 9.
    Kalinowski, M., Mendes, E., Card, D.N., Travassos, G.H.: Applying DPPI: A defect causal analysis approach using bayesian networks. In: Ali Babar, M., Vierimaa, M., Oivo, M. (eds.) PROFES 2010. LNCS, vol. 6156, pp. 92–106. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    SEI: CMMI for Development (CMMI-DEV), Version 1.3. CMU/SEI-2010. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University (2010) Google Scholar
  11. 11.
    Fagan, M.E.: Design and Code Inspection to Reduce Errors in Program Development. IBM Systems Journal 15(3), 182–211 (1976)CrossRefGoogle Scholar
  12. 12.
    Pearl, J.: Causality Reasoning, Models and Inference. Cambridge University Press, Cambridge (2000)zbMATHGoogle Scholar
  13. 13.
    Hong, G., Xie, M., Shanmugan, P.: A Statistical Method for Controlling Software Defect Detection Process. Computers and Industrial Engineering 37(1-2), 137–140 (1999)CrossRefGoogle Scholar
  14. 14.
    Kalinowski, M., Travassos, G.H.: A Computational Framework for Supporting Software Inspections. In: Int. Conf. on Automated Soft. Eng. (ASE 2004), Linz, Austria, pp. 46–55 (2004)Google Scholar
  15. 15.
    Spínola, R.O., Kalinowski, M., Travassos, G.H.: Uma Infra-Estrutura para Integração de Ferramentas CASE (in portuguese). In: XVIII Brazilian Symposium on Software Engineering, Brasilia, Brazil, pp. 147–162 (2004)Google Scholar
  16. 16.
    WEKA: WEKA - Open Source Machine Learning Software in Java (2011), (last accessed at February 15, 2011)
  17. 17.
    Shull, F.: Developing Techniques for Using Software Documents: A Series of Empirical Studies. Ph.D. thesis, University of Maryland, College Park (1998)Google Scholar
  18. 18.
    Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering – An Introduction. Kluwer Academic Publishers, Dordrecht (2000)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Marcos Kalinowski
    • 1
    • 2
  • Emilia Mendes
    • 1
    • 3
  • Guilherme H. Travassos
    • 1
  1. 1.COPPE/UFRJ – Federal University of Rio de JaneiroRio de JaneiroBrazil
  2. 2.UVA-RJ – Veiga de Almeida UniversityRio de JaneiroBrazil
  3. 3.Computer Science DepartmentThe University of AucklandAucklandNew Zealand

Personalised recommendations