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-83410 (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 2024 ist der vorgesehene Termin freitags von 16:30 bis 18 Uhr. Während des ersten Termins (Freitag, 19.04.2024, 16:30 bis 18 Uhr im Raum LG 0.144) kann ggf. über eine Verschiebung des Zeitslots entschieden werden. Auch eine geblockte Abhaltung der Veranstaltung ist denkbar. Daher wurde in campo der Raum LG 0.144 einstweilen freitags für den Zeitraum von 15 bis 18:15 Uhr gebucht.
Während die Folien und die meisten der zur Lektüre empfohlenen Artikel und Buchkapitel in englischer Sprache sind, ist die Unterrichtssprache Deutsch.
Der Erwerb der 5 ECTS erfolgt mittels einer 30-minütigen mündlichen Prüfung über die Kursinhalte; bei dieser kann jeder Studierende wählen, ob er oder sie die Prüfung auf Deutsch oder Englisch abhalten möchte.
Einführung
20. November 2018: Über einen Zeitraum von über 6 Stunden waren Facebook und Instagram für Nutzer in Europa, in den USA und in Südamerika nicht erreichbar. 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 statistische Verfahren zur Evaluierung und Prognose der Softwarezuverlässigkeit 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, 7. Auflage, 2024.
- E. Wallmüller, Software Quality Engineering. Hanser, 3. Auflage, 2011.
StudOn
Hier gelangen Sie zur StudOn-Webseite des Kurses.
Kontaktperson
Bei Fragen zum Kurs wenden Sie sich bitte an Prof. Dr. Michael Grottke.