Software Reliability

Software Reliability

Organisatorisches

„Software Reliability“ ist ein interdisziplinärer Kurs, der sich an Studierende mit Interesse an Statistik und/oder Wirtschaftsinformatik wendet.

Bachelor-Studierende können das (VWL-)Modul RUW-3410 (Software Reliability) als Modul des Vertiefungsbereichs wählen. Das Modul kann auch im Rahmen des Studienbereichs „Quantitative Methoden der Wirtschafts- und Sozialwissenschaften“ belegt werden.

Für das Sommersemester 2017 ist der vorgesehene Termin freitags von 17:15 bis 18:45 Uhr im Raum LG 0.142. Während des ersten Termins (Freitag, 28.04.2017, 17:15 – 18:45 Uhr, Raum LG 0.142) kann ggf. auch über eine Verschiebung des Zeitslots entschieden werden.

Während die Folien und die meisten der zur Lektüre empfohlenen Artikel und Buchkapitel in englischer Sprache sind, ist die Unterrichtssprache Deutsch.

Nach dem Ende des Semesters findet zum Erwerb der 5 ECTS eine 30-minütige mündliche Prüfung über die Kursinhalte statt. Jeder Studierende kann wählen, ob er oder sie die Prüfung auf Deutsch oder Englisch abhalten möchte.

 

Einführung

24. Januar 2014: Über einen Zeitraum von 25 Minuten konnten Google-Nutzer nicht auf Dienste wie Gmail, Google+, Calendar und Documents zugreifen. Die Ursache: ein Softwarefehler.

Derartige Ereignisse beleuchten das Ausmaß, in dem wir vom richtigen Verhalten Software-gesteuerter Systeme abhängen. In diesem Kurs diskutieren wir berühmte Versagensfälle und ihre Ursachen und lernen Techniken zur Erreichung einer höheren Softwarequalität kennen. Wie kann man während der Entwicklung Fehler im Softwarecode vermeiden? Wie sollten wir Software testen, um diejenigen Fehler zu finden, die sich doch eingeschlichen haben? Welche statistischen Techniken können wir nutzen, um die Zuverlässigkeit der Software abzuschätzen oder zu prognostizieren? Und wie kann man Versagensfälle verhindern, selbst wenn die Software noch Fehler enthält?

 

Lernziele

Nach Absolvierung des Kurses

  • kennen Sie Ursachen von unzuverlässiger Software, sowie Methoden zur Erreichung einer höheren Zuverlässigkeit;
  • können Sie mittels verschiedener White-Box- und Black-Box-Verfahren Testfälle für Software erstellen;
  • sind Sie in der Lage, die Annahmen, Stärken und Schwächen verschiedener Ansätze zur Evaluierung und Prognose der Softwarezuverlässigkeit zu vergleichen und zu diskutieren;
  • können Sie (als Bachelor-Studierender) statistische Verfahren zur Evaluierung und Prognose der Softwarezuverlässigkeit mittels der Statistiksoftware R anwenden.

 

Themen

Zu den im Kurs besprochenen Themengebieten gehören die Folgenden:

  • Berühmte Softwareversagensfälle – und was wir von ihnen lernen können
  • Auftritt der Schurken: Fehler, interne Fehlzustände und Versagensfälle
  • Wissen was man tut: Softwareentwicklungsprozessmodelle
  • „Traveling without moving“: statische Softwaretests
  • „If it works, break it“: dynamische Softwaretests
  • Wie ein Fisch im Wasser: Schätzung der Fehleranzahl mit „Capture-Recapture“-Ansätzen
  • „It’s getting better all the time“: Softwarezuverlässigkeitswachstumsmodelle
  • „A bug’s life“: Fehlermanagement
  • Mit Unzulänglichkeiten leben: Softwarefehlertoleranz

Literatur

Neben Forschungsartikeln umfasst die zur Lektüre empfohlene Literatur einzelne Abschnitte oder Kapitel der folgenden Bücher:

  • C. Ghezzi, M. Jazayeri und D. Mandrioli, Fundamentals of Software Engineering. Prentice-Hall, 2. Auflage, 2003.
  • M. R. Lyu, Hrsg., Handbook of Software Reliability Engineering. IEEE Computer Society, 1995.
  • P. Mertens und S. Rässler, Hrsg., Prognoserechnung. Springer/Physica, 7. Auflage, 2012.
  • J. D. Musa, Software Reliability Engineering. McGraw-Hill, 1999.
  • M. Roper, Software Testing. McGraw-Hill, 1994.
  • D. P. Siewiorek und R. S. Swarz, Reliable Computer Systems: Design and Evaluation. AK Peters, 3. Auflage, 1998.
  • A. Spillner und T. Linz, Basiswissen Softwaretest. dpunkt.verlag, 5. Auflage, 2012.
  • E. Wallmüller, Software Quality Engineering. Hanser, 3. Auflage, 2011.

StudOn

Das Passwort, welches Sie benötigen, um der StudOn-Gruppe zum Kurs beizutreten, erhalten Sie während der Veranstaltung.

Kontaktperson

Bei Fragen zum Kurs wenden Sie sich bitte an Prof. Dr. Michael Grottke.