Supporting Defect Causal Analysis in Practice with Cross-Company Data on Causes of Requirements Engineering Problems

Reading time: 5 minute
...

📝 Abstract

[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross-company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated.

💡 Analysis

[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross-company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated.

📄 Content

Supporting Defect Causal Analysis in Practice with Cross-Company Data on
Causes of Requirements Engineering Problems
Marcos Kalinowski, Pablo Curty, Aline Paes Computing Institute Fluminense Federal University (UFF) Niterói, Brazil {kalinowski, pablocurty, alinepaes}@ic.uff.br Alexandre Ferreira
Information Technology Area Brazilian National Development Bank (BNDES) Rio de Janeiro, Brazil alefe@bndes.gov.br Rodrigo Spínola University of Salvador (UNIFACS) and Fraunhofer Project Center at UFBA Salvador, Brazil rodrigo.spinola@fpc.ufba.br
Daniel Méndez Fernández Software & Systems Engineering Technical University of Munich Munich, Germany daniel.mendez@tum.de Michael Felderer Institute of Computer Science University of Innsbruck Innsbruck, Austria michael.felderer@uibk.ac.at Stefan Wagner Institute of Software Technology
University of Stuttgart Stuttgart, Germany stefan.wagner@informatik.uni-stuttgart.de

Abstract—[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross- company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated. Keywords-defect causal analysis; cross-company data; Bayesian network; case study; technology transfer; requirements engineering I. INTRODUCTION Defect causal analysis (DCA) [1] encompasses the identification of causes of defects and ways to prevent them from recurring in the future. Effective DCA has helped to reduce defect rates by about 50% in organizations such as IBM [2], Computer Science Corporation [3], and InfoSys [4]. Reducing defect rates also reduces rework and the total project effort, improving productivity [5]. Given these benefits, to provide guidance on how to implement DCA in software organizations, we conducted a Systematic Literature Review (SLR) in 2006 and replicated in 2007, 2009, and 2010 [5]. The results allowed producing evidence-based guidelines on how to implement DCA and the identification of investigation opportunities. For instance, we found that “the DCA state of the art did not include any approach integrating learning mechanisms regarding cause- effect relations into DCA meetings”. This result encouraged us to initiate research to propose a DCA approach integrating cause-effect learning mechanisms into DCA meetings. An initial concept [6] suggests aggregating knowledge gathered in successive within- company causal analysis events to assemble a deeper understanding of the defects’ cause-effect relations by using Bayesian networks. It is noteworthy that Bayesian networks have been used in other contexts in the software engineering domain such as defect prediction [7] and decision making [8]. In the DCA context, their use aims at creating and maintaining common causal models to support defect cause identification in each DCA event [6]. The diagnostic inference of those causal models can then be used to answer questions during DCA meetings, such as: “Within my organizational context, what are the causes that commonly lead to a specific defect type?”. Later, this initial concept was evolved and tailored into the DPPI (Defect Prevention-Based Process Improvement) approach [9]. The experience of applying DPPI retroactively to a real software project indicated its usage feasibility [9]. Moreover, according to the participants, DPPI’s Bayesian diagnostic inference predicted the main defect causes efficiently, motivating further investigation. This lead to an experimental study and the preliminary results indicated benefits of using the diagnostic inferences during DCA sessions regarding effectiveness and effort [10]. The positive results encouraged us to institutionalize the DPPI process in a small-sized software organization (~25 (c) 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, i

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut