Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Andreas Zeller (Informatiker)

Zeller beschäftigt sich mit automatisierten Ansätzen zum Aufspüren, Erklären und Beheben von Fehlern in Software. Insbesondere ist er für seine grundlegenden …

Inhalt4 Abschnitte
  1. 1. Überblick
  2. 2. Ausbildung und berufliche Stationen
  3. 3. Automatisierte Fehleranalyse und Repository-Daten
  4. 4. Strukturierte Eingaben, Auszeichnungen und Bücher

Überblick

Andreas Zeller (* 28. Oktober 1965 in Hanau) ist ein deutscher Informatiker. Er arbeitet als Forscher am CISPA Helmholtz-Zentrum für Informationssicherheit und ist Professor für Softwaretechnik an der Universität des Saarlandes. Seine Arbeit ist wichtig für die Zuverlässigkeit von Software: Sie behandelt automatisierte Verfahren, mit denen Programmfehler gefunden, ihre Ursachen erklärt und Fehler behoben werden können.

Besonders bekannt ist Zeller für Beiträge zum Softwaretesten, zum Debugging und zur Datenanalyse von Software-Repositories. Softwaretesten bedeutet, ein Programm gezielt auszuführen, um Fehler sichtbar zu machen. Debugging bezeichnet die Suche nach den Ursachen eines bereits beobachteten Fehlers.

Ausbildung und berufliche Stationen

Nach dem Diplom in Informatik an der TU Darmstadt arbeitete Zeller in Braunschweig als wissenschaftlicher Mitarbeiter und Lehrassistent. 1997 promovierte er an der TU Braunschweig in Informatik; seine Dissertation hieß „Configuration Management with Version Sets“. Nach zwei Jahren als Postdoktorand wechselte er 1999 an die Universität Passau.

2001 wurde er Professor an der Universität des Saarlandes. Von 2003 bis 2018 hatte er dort den Lehrstuhl für Softwaretechnik inne. Seit 2019 ist er zusätzlich Fakultätsmitglied am CISPA Helmholtz-Zentrum für Informationssicherheit. Gastaufenthalte führten ihn zu Microsoft Research (2005, 2009 und 2011), an die University of Washington (2005) und an die ETH Zürich (2007). Außerdem war er Programmvorsitzender bedeutender Konferenzen des Software Engineering, darunter ICSE, ASE, ESEC/FSE, ICST und ISSTA, sowie General Chair von ISSTA und EuroS&P.

Automatisierte Fehleranalyse und Repository-Daten

Ein zentraler Beitrag Zellers ist Delta Debugging, ein kausaler Ansatz zur Fehleranalyse. Frühere statistische Ansätze versuchten, das Auftreten eines Fehlers mit der Ausführung möglicher Ursachen zu korrelieren. Eine Korrelation, also ein statistisches gemeinsames Auftreten, beweist jedoch keinen kausalen Zusammenhang: Sie zeigt nicht zwingend, was den Fehler tatsächlich verursacht.

Delta Debugging sucht die Fehlerursache daher durch digitale Experimente. In „Yesterday, my program worked. Today, it does not. Why?“ wird die Menge der Programmänderungen zwischen „gestern“ und „heute“ untersucht. Gesucht wird die kleinste Untermenge von Änderungen, bei der der Fehler weiterhin beobachtbar ist. So kann beispielsweise mit git-bisect ein fehlerverursachender Commit, also eine gespeicherte Programmänderung, gefunden werden. Der Ansatz wurde weiterentwickelt und kann auch Ursache-Wirkungs-Ketten herausarbeiten, die erklären, welche Zusammenhänge zu einem Programmfehler geführt haben.

Zeller hat außerdem das Forschungsfeld Mining Software Repositories mitbegründet. Dabei werden Daten aus der Versionsgeschichte eines Programms und anderer Programme genutzt, um Programmanalysen relevanter und wirksamer zu machen. Das Werkzeug aus dem Papier „Mining Software Histories to Guide Software Changes“ von 2004 konnte ausgehend von einer aktuellen Programmänderung weitere künftig relevante Änderungen vorschlagen – sowohl im Programm als auch etwa in der Dokumentation. Die Grundidee wird weiterentwickelt und findet sich auch in AI-assistierter Softwareentwicklung wieder.

Strukturierte Eingaben, Auszeichnungen und Bücher

Ein aktueller Schwerpunkt ist grammar-based fuzzing: die automatische Fehlersuche in Programmen, die hochstrukturierte Eingaben verarbeiten. Dazu zählen Programme für bestimmte Dateiformate sowie Server, die korrekt formatierte Nachrichten in einer bestimmten Reihenfolge erwarten. Testeingaben müssen die erwartete Struktur erfüllen, damit das Programm sie überhaupt verarbeitet. Dateiformat oder Protokoll werden dazu durch eine Grammatik dargestellt und teils während der Ausführung inferiert, also abgeleitet. Dieses Thema steht im Mittelpunkt des ERC-Projekts „S3 – Semantics of Software Systems“.

Zu seinen Anerkennungen gehören die Ernennung zum ACM Fellow 2010, ein ERC Advanced Grant für „SPECMATE: Specification Mining and Testing“ 2011, der ACM SIGSOFT Outstanding Research Award 2018 und ein weiterer ERC Advanced Grant für „S3“ 2023. 2024 wurde er Mitglied der Academia Europaea. 2025 erhielt er den ACM SIGSOFT Influential Educator Award; 2026 folgten IEEE Fellow, der IEEE Harlan D. Mills Preis und die Gründungsmitgliedschaft der ACM SIGSOFT Software Engineering Academy.

Zu seinen Büchern zählen „Programmierwerkzeuge“ (D-Punkt Verlag, Heidelberg, 2000), „Why programs fail“ (Morgan Kaufmann publishers, San Francisco, 2005), „The Debugging Book“ und „The Fuzzing Book“ (beide CISPA Helmholtz Center for Information Security, Saarbrücken, 2024).

Weiterlesen

Informatiker Informatiker ist eine allgemeine Berufsbezeichnung für Personen, die im Bereich der Informationstechnik (IT) tätig sind, dort forschen oder die Erkenntnisse … Softwaretest Ein Softwaretest prüft und bewertet Software auf Erfüllung der für ihren Einsatz definierten Anforderungen und misst ihre Qualität. Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Korrelation Die Maßzahlen der Korrelation liegen betragsmäßig meist in einem Bereich von Null (kein Zusammenhang) bis Eins (starker Zusammenhang). · Ein Beispiel für eine … Kausalität Kausalität (von lateinisch causa, „Ursache“, und causalis, „ursächlich, kausal“) ist die Beziehung zwischen Ursache und Wirkung. Sie betrifft die Abfolge … Git Git [ɡɪt] ist eine freie Software zur verteilten Versionsverwaltung von Dateien, die durch Linus Torvalds initiiert wurde. Datenanalyse Die Datenanalyse verwendet statistische Methoden, um aus erhobenen Daten Information zu gewinnen. Inhaltsverzeichnis. Englische Sprache Die englische Sprache (Eigenbezeichnung: [ˈɪŋɡlɪʃ]) ist eine ursprünglich in England beheimatete germanische Sprache, die zum westgermanischen Zweig gehört. Versionsverwaltung Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen an Dokumenten oder Dateien verwendet wird. Alle Versionen werden in einem Archiv … Eingabe (Computer) Die Begriffe Eingabe, Verarbeitung und Ausgabe sind grundlegend für die elektronische Datenverarbeitung und werden als EVA-Prinzip bezeichnet. Alle gängigen … Kommunikationsprotokoll In seiner einfachsten Form kann ein Protokoll definiert werden als eine Menge von Regeln, die Syntax, Semantik und Synchronisation der Kommunikation bestimmen.