Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:programmierkonzepte:ws2017:07:index

07. Bugverwaltung

Themen
Ausgangspunkt: Software ist (fast) nie fehlerfrei
Umgang mit Fehlern in Software
Motivation: Warum eine Bugverwaltung?
Handhabung: Fehlerberichte, Feedback, Integration
Folien
PDF


Zentrale Aspekte

  • Software ist (fast) nie fehlerfrei.
    Je früher Fehler entdeckt (und behoben) werden, desto besser und billiger.
  • Die Wahrscheinlichkeit von Fehlern sollte aktiv minimiert werden
    (Wahl der Programmiersprache, Werkzeuge, …).
  • Fehler sollten in Tests verwandelt
    und auch in Entwicklungsversionen behoben werden.
  • Eine Bugverwaltung hilft Anwendern und Entwicklern
    durch Strukturierung und Automatisierung.
  • Eine Bugverwaltung sollte fest in die restliche Infrastruktur
    und Abläufe bei der Projektentwicklung eingebunden sein.

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Bugverwaltung im wissenschaftlichen Kontext

Eine sehr auf die Situation in den Wissenschaften fokussierte Beschreibung von Bugverwaltung bzw. genauer gesagt Issue-Tracking-Systemen findet sich in [Scopatz, 2015Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol] (Kapitel 21). Eine gute Zusammenfassung ist Abb. 21-1, die in einem Flussdiagramm den Ablauf von der Fehlerentdeckung über die Programmierung eines Bugfixes bis hin zur finalen Lösung erklärt und die Beteiligung weiterer Aspekte von Infrastruktur (Tests, Versionsverwaltung) aufzeigt.

  • Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol

Folgen von Softwarefehlern

Bugs können im schlimmsten Fall Menschenleben kosten, finanziell erhebliche Wirkung haben oder „nur“ die Reputation (zer)stören. Für alle das gibt es (leider) ausreichend Beispiele.

Menschenleben: Therac-25

Nichts für schwache Nerven, aber eine sehr detaillierte Beschreibung, wie es zu den Fehlern mit Todesfolge (drei Tote, drei Schwerverletzte) beim in Kanada und den USA eingesetzten medizinischen Bestrahlungsgerät Therac-25 kam: der Artikel von Leveson und Turner. Das einzig Gute: In der Folge dieser Vorfälle wurden die Bestimmungen für Software im medizinischen Kontext in den USA angepasst.

  • Leveson, Nancy G.; Turner, Clark S. (1993): An investigation of the Therac-25 accidents, Computer 26:18-41

Berechenbarkeit

Wer sich für die eingangs erwähnte Berechenbarkeit im Detail interessiert, dem sei als Einführung in die theoretische Informatik das Buch von Uwe Schöning [Schöning, 2008Schöning, Uwe (2008): Theoretische Informatik - kurz gefasst, Spektrum Akademischer Verlag, Heidelberg] und dort insbesondere Kapitel 2 empfohlen. Es richtet sich zwar an Informatiker und ist entsprechend formal, bietet dafür aber auf sehr knappem Raum sehr viel Information.

  • Schöning, Uwe (2008): Theoretische Informatik - kurz gefasst, Spektrum Akademischer Verlag, Heidelberg
de/lehre/programmierkonzepte/ws2017/07/index.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1