A Probabilistic Approach to Causal Analysis of Software Defects
Abstract
Causal analysis of defects has been shown to be an efficient way to improve processes based on the product. In this thesis, a probabilistic approach to causal analysis, called DPPI (Defect Prevention-Based Process Improvement) was developed based on evidence obtained from four rounds of systematic literature review and feedback obtained from specialists in the field. DPPI represents an innovative approach that integrates cause and effect learning mechanisms (Bayesian networks) in the procedures for causal analysis of defects. In addition, to facilitate the use of these mechanisms in causal analysis meetings, the traditional cause and effect diagram has been extended to a probabilistic cause and effect diagram. DPPI was applied to a real project and evaluated through three rounds of an experimental study. The application to the real project indicated its viability and allowed to refine requirements for the construction of tooling support. The rounds of the experimental study provided evidence that the use of probabilistic cause and effect diagrams of DPPI increases the effectiveness and reduces the effort in identifying causes of defects, when compared to the identification of causes of defects without the use of diagrams.
Keywords:
Probabilistic Approach, Causal Analysis, Software Defects
References
Boehm, B. (2006) “A View of 20th and 21st Century Software Engineering”, In: Proc. of ICSE '06: 28th International Conference on Software Engineering, ACM Press, New York, NY, USA, pp. 12-29.
Card, D.N. (2005) “Defect Analysis: Basic Techniques for Management and Learning”, In: Advances in Computers, vol. 65, chapter 7, pp. 259-295.
Chrissis, M. B., Konrad, M., Shrum, S. (2011) “CMMI: Guidelines for Process Integration and Product Improvement”, Third Edition, Addison Wesley Professional.
Dangerfield, O., Ambardekar, P., Paluzzi, P., Card, D., Giblin, D. (1992) “Defect Causal Analysis: A Report from the Field”, In: Proc. of the International Conference on Software Quality, American Society for Quality Control.
Eckes, G. (2000) “The Six Sigma Revolution: How General Electric and Others Turned Process Into Profits”, John Wiley and Sons.
Endres, A. (1975) “An Analysis of Errors and Their Causes in Systems Programs”, In: IEEE Transactions on Software Engineering, SE-1, 2, June 1975, pp. 140-149. Grady, R. B., “Software Failure Analysis for High-Return Process Improvement Decisions”, In: Hewlett-Packard Journal, 47 (4), 15 - 24, 1996.
ISO/IEC (2008) “ISO/IEC 12207:2008 – Systems and software engineering – Software life cycle processes”, ISO/IEC 12207:2008. Jalote, P., Agrawal, N., “Using Defect Analysis Feedback for Improving Quality and Productivity in Iterative Software Development”, In: Proc. of the 3rd International Conference on Information and Communication Technology, ICICT, pp. 701–713, Cairo, 2005.
Kalinowski, M., Card, D.N., Travassos, G.H. (2012) “Evidence-based Guidelines on Defect Causal Analysis”, IEEE Software Magazine (aceito para publicação).
Kalinowski, M. (2011), “Uma Abordagem Probabilística para Análise Causal de Defeitos de Software”, Tese de Doutorado defendida no PESC/COPPE/UFRJ em 21/03/2011, disponível em http://www.cos.ufrj.br/
Kalinowski, M., Mendes, E., Travassos G.H. (2011) “Automating and Evaluating the Use of DPPI’s Probabilistic Cause-Effect Diagrams to Improve Defect Causal Analysis”, 12th International Conference on Product Focused Software Development and Process Improvement (PROFES 2011), Springer LNCS 6759, pp. 232-246, Bari, Italy.
Kalinowski, M., Travassos G.H., Mendes, E., Card, D.N. (2010) “Applying DPPI: A Defect Causal Analysis Approach Using Bayesian Networks”, 11th International Conference on Product Focused Software Development and Process Improvement (PROFES 2010), Springer LNCS 6156, pp. 92–106, Limerick, Ireland.
Kalinowski, M., Travassos, G. H., Card, D. N. (2008b) “Towards a Defect Prevention Based Process Improvement Approach”, 34th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 199-206, Parma, Italy.
Kalinowski, M., Travassos, G.H., Card, D.N. (2008a) “Guidance for Efficiently Implementing Defect Causal Analysis”, VII Simpósio Brasileiro de Qualidade de Software (SBQS), Florianópolis.
Kalinowski, M., Travassos, G.H. (2008) “Towards a Defect Causal Analysis Approach for Software Process Improvement and Organizational Learning”, Workshop de Teses e Dissertações em Qualidade de Software (WTDQS) do VII Simpósio Brasileiro de Qualidade de Software, Florianópolis.
Kitchenham, B.A., “Procedures for Performing Systematic Reviews”, In: Joint Technical Report Keele University and National ICT Australia Ltd., 2004.
Leszak, M., Perry, D. E., Stoll, D. (2002) “Classification and Evaluation of Defects in a Project Retrospective”, In: Journal of Systems and Software, 61( 3), 173 - 187.
Mafra, S.N., Barcelos, R.F., Travassos, G.H., “Aplicando uma Metodologia Baseada em Evidência na Definição de Novas Tecnologias de Software”, In: Proc. of the XX Simpósio Brasileiro de Engenharia de Software (SBES), Florianópolis, 2006.
Pearl, J. (2000) “Causality: Reasoning, Models and Inference”, Cambridge University Press, ISBN: 978-0-521-77362-1.
Robitaille, D., “Root Cause Analysis – Basic Tools and Techniques”, Paton Press, ISBN: 1-932828-02-8, 2004.
SOFTEX (2011) “Modelo MPS – Melhoria de Processo do Software Brasileiro, Guia Geral do MPS, Versão 2011”. Sociedade Softex, Brasil. Disponível em http://www.softex.br/mpsbr.
Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslén, A. (2000) “Experimentation in Software Engineering – An Introduction”, Kluwer Academic Publishers, ISBN 0-7923-8682-5.
Yu, W. D. (1998) “Software fault prevention approach in coding and root cause analysis”, In: Bell Labs Technical Journal, Vol.3 (2), pp.3-21.
Card, D.N. (2005) “Defect Analysis: Basic Techniques for Management and Learning”, In: Advances in Computers, vol. 65, chapter 7, pp. 259-295.
Chrissis, M. B., Konrad, M., Shrum, S. (2011) “CMMI: Guidelines for Process Integration and Product Improvement”, Third Edition, Addison Wesley Professional.
Dangerfield, O., Ambardekar, P., Paluzzi, P., Card, D., Giblin, D. (1992) “Defect Causal Analysis: A Report from the Field”, In: Proc. of the International Conference on Software Quality, American Society for Quality Control.
Eckes, G. (2000) “The Six Sigma Revolution: How General Electric and Others Turned Process Into Profits”, John Wiley and Sons.
Endres, A. (1975) “An Analysis of Errors and Their Causes in Systems Programs”, In: IEEE Transactions on Software Engineering, SE-1, 2, June 1975, pp. 140-149. Grady, R. B., “Software Failure Analysis for High-Return Process Improvement Decisions”, In: Hewlett-Packard Journal, 47 (4), 15 - 24, 1996.
ISO/IEC (2008) “ISO/IEC 12207:2008 – Systems and software engineering – Software life cycle processes”, ISO/IEC 12207:2008. Jalote, P., Agrawal, N., “Using Defect Analysis Feedback for Improving Quality and Productivity in Iterative Software Development”, In: Proc. of the 3rd International Conference on Information and Communication Technology, ICICT, pp. 701–713, Cairo, 2005.
Kalinowski, M., Card, D.N., Travassos, G.H. (2012) “Evidence-based Guidelines on Defect Causal Analysis”, IEEE Software Magazine (aceito para publicação).
Kalinowski, M. (2011), “Uma Abordagem Probabilística para Análise Causal de Defeitos de Software”, Tese de Doutorado defendida no PESC/COPPE/UFRJ em 21/03/2011, disponível em http://www.cos.ufrj.br/
Kalinowski, M., Mendes, E., Travassos G.H. (2011) “Automating and Evaluating the Use of DPPI’s Probabilistic Cause-Effect Diagrams to Improve Defect Causal Analysis”, 12th International Conference on Product Focused Software Development and Process Improvement (PROFES 2011), Springer LNCS 6759, pp. 232-246, Bari, Italy.
Kalinowski, M., Travassos G.H., Mendes, E., Card, D.N. (2010) “Applying DPPI: A Defect Causal Analysis Approach Using Bayesian Networks”, 11th International Conference on Product Focused Software Development and Process Improvement (PROFES 2010), Springer LNCS 6156, pp. 92–106, Limerick, Ireland.
Kalinowski, M., Travassos, G. H., Card, D. N. (2008b) “Towards a Defect Prevention Based Process Improvement Approach”, 34th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 199-206, Parma, Italy.
Kalinowski, M., Travassos, G.H., Card, D.N. (2008a) “Guidance for Efficiently Implementing Defect Causal Analysis”, VII Simpósio Brasileiro de Qualidade de Software (SBQS), Florianópolis.
Kalinowski, M., Travassos, G.H. (2008) “Towards a Defect Causal Analysis Approach for Software Process Improvement and Organizational Learning”, Workshop de Teses e Dissertações em Qualidade de Software (WTDQS) do VII Simpósio Brasileiro de Qualidade de Software, Florianópolis.
Kitchenham, B.A., “Procedures for Performing Systematic Reviews”, In: Joint Technical Report Keele University and National ICT Australia Ltd., 2004.
Leszak, M., Perry, D. E., Stoll, D. (2002) “Classification and Evaluation of Defects in a Project Retrospective”, In: Journal of Systems and Software, 61( 3), 173 - 187.
Mafra, S.N., Barcelos, R.F., Travassos, G.H., “Aplicando uma Metodologia Baseada em Evidência na Definição de Novas Tecnologias de Software”, In: Proc. of the XX Simpósio Brasileiro de Engenharia de Software (SBES), Florianópolis, 2006.
Pearl, J. (2000) “Causality: Reasoning, Models and Inference”, Cambridge University Press, ISBN: 978-0-521-77362-1.
Robitaille, D., “Root Cause Analysis – Basic Tools and Techniques”, Paton Press, ISBN: 1-932828-02-8, 2004.
SOFTEX (2011) “Modelo MPS – Melhoria de Processo do Software Brasileiro, Guia Geral do MPS, Versão 2011”. Sociedade Softex, Brasil. Disponível em http://www.softex.br/mpsbr.
Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslén, A. (2000) “Experimentation in Software Engineering – An Introduction”, Kluwer Academic Publishers, ISBN 0-7923-8682-5.
Yu, W. D. (1998) “Software fault prevention approach in coding and root cause analysis”, In: Bell Labs Technical Journal, Vol.3 (2), pp.3-21.
Published
2012-07-11
How to Cite
KALINOWSKI, Marcos; TRAVASSOS, Guilherme Horta.
A Probabilistic Approach to Causal Analysis of Software Defects. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (SBQS), 11. , 2012, Fortaleza.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2012
.
p. 414-428.
DOI: https://doi.org/10.5753/sbqs.2012.15335.
