Forscher erstellt automatisch Beschreibungen von Programmen

Darin ist festgehalten, wie sich die Software verhält. Dazu analysiert Valentin Dallmeier Testläufe, mit denen ein Programm auf Fehler untersucht wird. Er hat dafür den Ernst-Denert-Preis 2010 bekommen.

Valentin Dallmeier (Bild: Universität des Saarlandes)

Valentin Dallmeier, Mitarbeiter am Lehrstuhl für Softwaretechnik der Universität des Saarlandes, hat ein Verfahren entwickelt, mit dem sich Programme leichter beschreiben lassen. Er erhielt dafür den Ernst-Denert-Preis 2010.

Dallmeiers Verfahren erstellt anhand von Softwaretests automatisch eine genaue Programmbeschreibung – die Spezifikation. Sie gibt ähnlich wie eine Bedienungsanleitung wieder, wie sich die Software in bestimmten Situationen verhält.

Zur Beschreibung nutzen Informatiker Verhaltensmodelle, die sogenannten „endlichen Automaten„. Damit lässt sich untersuchen, wie sich einzelne Aktionen aufeinander auswirken. Insbesondere bei Open-Source-Projekten, an denen viele Entwickler arbeiten, ist das Erstellen der Beschreibungen aufwändig.

Für seine Modelle analysiert Dallmeier Testläufe, mit denen eine Software vor der Freigabe auf Fehler untersucht wird. Dabei entstehen durch die Eingabe von Kennzahlen viele Varianten eines Programms, die dem Informatiker Aufschluss über sein Verhalten geben.

Daraus erstellt Dallmeier eine Spezifikation, anhand derer sich weitere Fehler finden und Programmteile reparieren lassen – teilweise sogar automatisch. Die Beschreibung dient zudem als Grundlage für die Verifikation, ein Qualitätsmerkmal für Software. Damit lässt sich mathematisch beweisen, dass ein Programm seiner Spezifikation entspricht und – zumindest mathematisch – keine Fehler enthält.

Themenseiten: Forschung, Open Source, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Forscher erstellt automatisch Beschreibungen von Programmen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *