Improving the reliability of Saros using Root Cause Analysis

worked on by: Sebastian Starroske


I continued the Root Cause Analysis after handing in my Master Thesis. I will publish the results on this website on Sunday, February 10.
Current Version: RCA

Outline

In dieser Arbeit geht es, einige wichtige grundsätzliche Schwächen des Saros-Produktes aufzudecken, die die Stabilität/Vermeidung von Inkonsistenzen betreffen und dabei zugleich (soweit möglich) herauszufinden, welche Änderungen am Saros-Entwicklungsprozess künftig ähnliche Schwächen zu verhindern helfen sollten bzw. dabei helfen, die aktuellen Schwächen gründlich und dauerhaft abzustellen.

Der Zugang erfolgt dabei über Defektkorrekturen: Es werden der Reihe nach ein paar Defekte aus der Defektdatenbank ausgewählt, im Code lokalisiert und dann aber nicht nur einfach behoben, sondern zusätzlich daraufhin analysiert, welche Produkteigenschaften vermutlich dazu geführt oder beigetragen haben, dass sie aufgetreten sind, und welche Prozesseigenschaften entweder für diese Produkteigenschaften verantwortlich sind oder aber verhindert haben, dass trotz dieser Produkteigenschaften der Defekt vermieden werden konnte. Im Zuge dieser Analyse wird also eine Kette von Ursachen und Wirkungen identifiziert, die qualitätswichtige Zusammenhänge im Softwareprozess beschreibt. Die höherrangigen Ursachen in dieser Kette nennt man auch Urgründe (root causes) und diese sind ein wertvolles und erprobtes Hilfsmittel für Prozessverbesserungen.

Darauf aufbauend soll der Kern dieser Arbeit darin bestehen, strukturelle Verbesserungen sowohl im Produkt als auch im Prozess zu identifizieren, die möglichst viele dieser Urgründe abstellen, und einige davon ganz oder teilweise umzusetzen.

Thesis Requirements

Milestones and Planning

A milestone is a scheduled event signifying the completion of a major deliverable or a set of related deliverables. A milestone has zero duration and no effort -- there is no work associated with a milestone. It is a flag in the workplan to signify some other work has completed. Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. (Source: http://www.mariosalexandrou.com/definition/milestone.asp)

Milestone no. Milestone Goals target Past CW accomplished wrench
1 Register Thesis literature research
working on welcome checklist
getting to know Saros
planning the project
DONE CW27 not accomplished - CW28
2 Concept Presentation further literature research
clustering of bugs/events
determining risk value for each bug /cluster (occurence * consequences)
outline of thesis
PSP
DONE CW31 not accomplished - CW 34
started working on RCA I
3 Presentation of a an detailed schedule time scheduling DONE CW33 accomplished
4 RCA I gathering data through fixing errors
try to identify first root causes
DONE CW39 in progress - currently performing last steps
5 RCA II identifaction and fixing of root causes
statistical analysis on coverage
DONE CW45 in progress
6 Hand in thesis finishing thesis
finishing presentation
finish open tasks
DONE CW50  

Weekly Status

Week 3 (CW 23)

Activities

Week 4 (CW 24)

Activities

Results

Next Steps

Problems

Week 5 (CW 25)

Activities

Results

Next Steps

Problems

Week 6 (CW 26)

Activities

Results

Next Steps

Problems

Week 8 (CW 28)

Activities

Week 9 - 13 (CW 29 - CW 33)

Activities

Results

Next Steps

Problems

Week 14 (CW 34)

Activities

Results

Next Steps

Week 15 (CW 35)

Activities

Results

Next Steps

Week 16 (CW 36)

Activities

Results

Problems

Next Steps

Week 17 - 18 (CW 37-38)

Activities

Results

Problems

Next Steps

Week 19 - 23 (CW 39-43)

Activities

Results

Problems

Next Steps

Week 24 (CW 44)

Activities

Results

Problems

Next Steps