Programmiermethodik und Sicherheit

Modulbeschreibung Programmiermethodik und Sicherheit

Studiensemester1.
DozentProf. Dr. Christian Dietrich
Lehrform / Semesterwochenstunden2 SWS Vorlesung, 2 SWS Praktikum
Leistungspunkte6
TurnusWintersemester, jährlich
VoraussetzungenKenntnisse in Software-Entwicklung auf BachelorNiveau
InhaltProgrammiermethodik und Sicherheit – Test-Driven Design • Memory Safety • Inversion of Control • Convention over Configuration • Programming by Contract • Nebenläufige Programmierung • Software-Schwachstellen durch Speicherschutzverletzungen • SystemSchutzmechanismen • Type Safety • Speicherzugriffsfehler • Garbage Collection • Generische Programmierung • Fehlerbehandlung
Angestrebte LernergebnisseDie Studierenden beherrschen die grundlegenden Konzepte der Speichersicherheit (Memory Safety) und kennen Methoden und Techniken, um effizient zuverlässige Software hoher Qualität für sich schnell ändernde und wachsende Anforderungen zu erstellen. Dies gilt insbesondere für Anwendungen mit hohen Anforderungen an Sicherheit und Verlässlichkeit. Beispielhafte Umsetzungen erfolgen mit modernen
Programmiersprachen, etwa Rust. Darüber hinaus wenden sie Technik
Studien- / PrüfungsleistungenStudienleistungen laut Prüfungsordnung als Voraussetzung zur Prüfungsteilnahme: Keine
Prüfungsleistungen: Klausur (90 Min.) oder mündliche Prüfung
Literatur– The Rust Programming Language, Steve Klabnik and Carol Nichols, August 2019, https://doc.rustlang.org/book/
– Software Security: Principles, Policies, and Protection (SS3P), Mathias Payer, v0.37, https://nebelwelt.net/SS3P/softsec.pdf
– Diverse aktuelle Konferenz-Publikationen