Defect Cost Flow Model with Bayesian Networks

DSpace Repository


Dateien:

URI: http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-58510
http://hdl.handle.net/10900/49586
Dokumentart: Dissertation
Date: 2011
Language: English
Faculty: 7 Mathematisch-Naturwissenschaftliche Fakultät
Department: Informatik
Advisor: Rosenstiel, Wolfgang (Prof. Dr.)
Day of Oral Examination: 2011-09-30
DDC Classifikation: 004 - Data processing and computer science
Keywords: Bayes-Inferenz , Softwareentwicklung , Kostenschätzungsmodell , Fehlerstrom
Other Keywords: Bayessche Netze , Fehlerkostenschätzung , Fehlerkostenstrom , Projektmanagement
Bayesian Networks , Defect cost estimation , Software engineering , Defect cost flow , Project management
License: Publishing license including print on demand
Order a printed copy: Print-on-Demand
Show full item record

Inhaltszusammenfassung:

Die Vorhersage von Software Fehlern ist eines der Hauptthemen der Software Entwicklung. Zur Bestimmung der Software Qualität bzw. des Aspekts der Fehleranfälligkeit dient weitläufig die Anzahl der Fehler als eine der wesentlichen Kenngrößen. Jedoch ist die alleinige Anzahl an Fehlern bei der Aufwandsschätzung von Fehlerkorrekturmaßnahmen ungeeignet, da der Fehlerkontext in diese Kenngröße nicht einfließt. Diese Arbeit stellt eine neue Möglichkeit der Schätzung des Fehlerkorrekturaufwandes vor. In der Regel werden Fehler im Rahmen von Änderungen in das Software Produkt eingebracht. Ein Software Release umfasst potentiell hunderte dieser Änderungen. Dabei hat jede Änderung eine eigene Charakteristik hinsichtlich ihrer Fehlerwahrscheinlichkeit, die auf verschiedenen Einflussfaktoren basiert. In dieser Arbeit wird die Entwicklung des Software Prozess Modells (SPM) beschrieben, das die spezifischen Charakteristika jeder einzelnen Änderung im Kontext des Software Releases berücksichtigt. Weiterhin haben Fehler der verschiedenen Entwicklungsphasen einen unterschiedlichen Einfluss auf den Fehlerkorrekturaufwand, abhängig von ihrem Ursprungs- und Entdeckungsort. Dabei steigt der Mehraufwand für die Fehlerkorrektur bei Fehlern, die über mehrere Entwicklungsphasen hinweg unentdeckt bleiben bzw. erst in einer Folgephase entdeckt werden. Um den Korrekturaufwand zu verringern, ist es wichtig, die einzelnen Entwicklungsphasen anhand ihrer spezifischen Merkmale zu bewerten und in diesem Kontext den Fokus von Qualitätsmaßnahmen zu definieren. Diese Arbeit beschreibt die Erstellung des Modells zum Fehlerkostenstrom (DCFM), das den Zusammenhang des Fehlerstroms über die Entwicklungsphasen zum Fehlerkorrekturaufwand herstellt. Die Darstellungsform der Modelle in dieser Arbeit sind die Bayesschen Netze (BNs). Sie zeichnen sich im Wesentlichen durch ihre Eigenschaft aus, probabilistische Kausalketten darzustellen und dieses unter der Einbeziehung von Expertenwissen in Kombination mit empirischen Daten. Die iterative Modellentwicklung berücksichtigt dabei die Problemanalyse, Datenanalyse, Modellerstellung, Simulation und Validation. Die beiden entwickelten Modelle SPM und DCFM spiegeln das weitverbreitete Entwicklungsvorgehen anhand des V-Modells wider, ein internationaler Standard für die Entwicklung von Informationssystemen. Die Datengrundlage der Modelle basiert auf Projektdaten, die bei der Robert Bosch GmbH erhoben wurden. Die Analyse der verschiedenen Simulationsszenarien bestätigt, dass SPM und DCFM die realen Entwicklungsprozesse abbilden und auf dieser Basis Optimierungsstrategien erarbeitet werden können. Dabei ermöglicht die kausale Struktur der Modelle eine intuitive Anwendbarkeit. Klassische Kostenoptimierungsstrategien in der Software Entwicklung tendieren dazu, die einzelnen Entwicklungsphasen separat in ihren eigenen Domänen zu betrachten. Im Gegensatz dazu zeigen die Ergebnisse dieser Arbeit, dass auch kostenintensive Qualitätsmaßnahmen einen Mehrwert darstellen, wenn man sie hinsichtlich des Fehlerkorrekturaufwandes im Kontext des gesamten Entwicklungsvorgehens betrachtet.

Abstract:

Software defect prediction has been one of the central topics of software engineering. Predicted defect counts have been used mainly to assess software quality and estimate the Defect Correction Effort (DCE). However, in many cases these defect counts are not good indicators for DCE. Therefore, in this thesis DCE has been modeled from a different perspective. The most common way of inserting defects into a software product is by applying changes to it. In every software release, hundreds of changes are applied to the software product. Every change has its unique characteristics based on process and product factors. With regard to these factors, every change has its own probability of injecting a defect. In this thesis, the Software Process Model (SPM) is demonstrated taking into account the specific characteristics of multiple changes. Furthermore, defects originating from various development phases have different impact on the overall DCE, especially defects shifting from one phase to another. To reduce the DCE it is important to assess every development phase along with its specific characteristics and focus on the shift of defects over phases. These ideas have been realized in the Defect Cost Flow Model (DCFM). The modeling technique used in this thesis are Bayesian Networks (BNs) which, among many others, have three important capabilities: reflecting causal relationships, combining expert knowledge with empirical data and incorporating uncertainty. The procedure of model development contains a set of iterations including the following steps: problem analysis, data analysis, model enhancement with simulation runs and model validation. The developed models SPM and and the Defect Cost Flow Model (DCFM) reflect the widely used V-model, an international standard for developing information technology systems. It has been pre-calibrated with empirical data from past projects developed at the Robert Bosch GmbH. The analysis of evaluation scenarios confirms that SPM and DCFM correctly incorporates known qualitative and quantitative relationships. Because of its causal structure it can be used intuitively by end-users. Typical cost-benefit optimization strategies regarding the optimal effort spent on quality measures tend to optimize locally, e.g. every development phase is optimized separately in its own domain. In contrast to that, the SPM and DCFM demonstrate that even cost intensive quality measures pay off when the overall DCE of specific features is considered.

This item appears in the following Collection(s)