idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instance:
Share on: 
04/02/2025 13:36

Den Fehler im System beheben: Neue Werkzeuge, die Software sicherer machen

Dr. Jutta Witte Stabsstelle Hochschulkommunikation
Universität Stuttgart

    Er entwickelt Werkzeuge zur Verbesserung der Zuverlässigkeit und Sicherheit von Softwaresystemen: Professor Cristian Cadar vom Imperial College London besucht als Träger des Alexander-von-Humboldt-Forschungspreises ab April für mehrere Monate die Universität Stuttgart. Im Team von Professor Michael Pradel, Abteilungsleiter Software Lab und Geschäftsführender Direktor des Instituts für Software Engineering (ISTE), will der Informatiker aus London neue wissenschaftliche Wege gehen.

    „Mein Ziel in Stuttgart ist es, innovative Ansätze zu testen, mit denen sich die Fehleranfälligkeit von Softwaresystemen noch weiter minimieren lässt als bisher“, sagt Cristian Cadar. Dass Computerprogramme grundsätzlich so anfällig sind, hat mit ihrer Komplexität zu tun. Selbst einfache Apps umfassen viele Tausende und manchmal gar Millionen Codezeilen – da schleicht sich leicht ein Fehler ein. Es reicht schon, dass Programmierer eine Kleinigkeit übersehen haben, schon entstehen daraus Softwarefehler, die als „Bugs“ bezeichnet werden.

    Diese wiederum führen zu Sicherheitslücken, die es kriminellen Angreifern erlauben, sich ins Computersystem einzuhacken. Das eines privaten Rechners, eines Krankenhauses oder eines Unternehmens. In schlechter Erinnerung ist der Heartbleed-Bug von 2014, einer der bekanntesten Sicherheitslücken der Computergeschichte. Er trat in der Verschlüsselungsbibliothek OpenSSL auf, die für eine sichere Kommunikation im Internet zuständig war. Als bei einem Update von OpenSSL ein Fehler passierte, hatten Hacker Zugriff auf die Passwörter und privaten Daten von Millionen Nutzern.

    Kampf gegen die Bugs

    Cadar bekämpft die Bugs mit einem speziellen Ansatz, zu dessen Pionieren er gehört. Er nennt sich „Symbolic Execution“, also symbolische Ausführung. Vereinfacht gesagt wird Software damit automatisiert und umfassend auf Fehler getestet. „Die Grundidee besteht darin, für jeden Pfad in einem Computerprogramm mathematische Beschränkungen zu sammeln“, erklärt Cadar. So lassen sich Fehler gut aufspüren, zum Beispiel Pufferüberläufe.

    Diese Speicherfehler treten auf, wenn ein Programm mehr Daten in den Speicher schreibt als dieser aufnehmen kann. Der Speicher wird dadurch beschädigt – Folge ist eine Sicherheitslücke, über die sich Kriminelle Zugriff zum System verschaffen oder Schadsoftware ins System schleusen können. Oft ist die Anfälligkeit für solche Bugs schon im Code angelegt. Cadar hat mit seiner Arbeit bereits viel dazu beigetragen, sie zu verhindern und die Zuverlässigkeit und Sicherheit von Softwaresystemen zu erhöhen. Allen voran mit dem von ihm und seinem Team entwickelten Open-Source-Werkzeug KLEE. Viele Hochschulen, Behörden und Industriebetriebe benutzen es, um Fehler zu suchen und ihre Programme zu reparieren.

    ChatGPT im Einsatz

    „Ich möchte der Humboldt-Stiftung für diesen angesehenen Preis danken", sagt Cadar. „Er ermöglicht es mir, einen Teil meines Sabbaticals in Stuttgart zu verbringen, um dort an drängenden Problemen der Softwareentwicklung zu arbeiten.“ Cadars Einsatzort ist das Software Lab, dessen Leiter Michael Pradel er seit vielen Jahren kennt und schätzt. „Ich wollte schon immer mal mit Michael und seiner Forschungsgruppe zusammenarbeiten. Jetzt ist es endlich soweit.“
    Gastgeber Michael Pradel freut sich auf den Besucher aus London: „Cristian ist weltweit führend im Bereich der symbolischen Ausführung.“ Wie Cadar arbeitet auch Pradel daran, die Fehleranfälligkeit von Software zu beheben, aber mit einem anderen Ansatz. Pradel und sein Team sind Weltspitze im Bereich der neuronalen Softwareanalyse. Diese nutzt neuronale Netze sowie die zur Zeit allgegenwärtigen großen Sprachmodelle (Large Language Models, LLMs) wie ChatGPT, um Softwarefehler zu suchen und automatisch zu beheben. Das können neuronale Netze sehr gut, weil sie mit Hilfe der für den menschlichen Gebrauch konzipierten LLMs „verstehen“, was der Softwareentwickler oder die Softwarenentwicklerin beim Schreiben des Codes ursprünglich gemeint hat. Sie gleichen die menschliche Absicht hinter dem Code dann mit dem tatsächlich geschriebenen Programm-Code ab und finden so den Fehler im System.

    Der neurosymbolische Ansatz

    Cadar und Pradel haben Großes vor. Sie wollen ihre beiden Ansätze in den nächsten Monaten zu einem neuen neurosymbolischen Ansatz kombinieren. „Zusammen könnten unsere beiden Ansätze noch stärker im Finden und Beheben von Softwarefehlern sein als bisherige Lösungen“, sagt Pradel. „Dieses Potenzial wollen wir während Cristians Besuch ausloten.“
    Software habe ja einen doppelten Charakter, ergänzt Cadar. Sie sei sowohl für Menschen als auch für Maschinen bestimmt. „Menschliche Entwickler müssen den Code verstehen, Maschinen müssen ihn ausführen." Die Ansätze deckten beide Bereiche ab, die symbolische Ausführung die Maschinenseite, die neuronale Analyse die menschliche Seite. „Ich bin mir sicher, dass eine Kombination das Beste aus diesen zwei Welten zusammenbringt.“ Zumal es bei den LLMs in letzter Zeit große Fortschritte gegeben habe. Das erleichtert die Arbeit. Der Plan, neuronale Analyse und symbolische Ausführung miteinander zu verschmelzen, komme also gerade zur rechten Zeit.

    Über Cristian Cadar:

    Cristian Cadar hat seinen Doktor in Informatik an der Stanford University und seinen Master of Engineering am Massachusetts Institute of Technology (MIT) gemacht. Er ist heute Professor in der Abteilung für Informatik am Imperial College London, wo er die Software Reliability Group leitet. Er forscht in den Bereichen Software-Engineering, Computersysteme und Softwaresicherheit – mit dem Schwerpunkt auf der Entwicklung praktischer Techniken zur Verbesserung der Zuverlässigkeit und Sicherheit von Softwaresystemen. Für seine Arbeit erhielt Cadar mehrere Auszeichnungen, unter anderem den IEEE New Directions Award 2022 und den BCS Roger Needham Award 2019.


    Contact for scientific information:

    Prof. Cristian Cadar, Department of Computing, Imperial College London, E-Mail: c.cadar@imperial.ac.uk

    Prof. Michael Pradel, Universität Stuttgart, Institut für Software Engineering (ISTE), Tel.: +49 711 685 88320, E-Mail: michael@binaervarianz.de


    More information:

    https://software-lab.org


    Images

    Geht es um die Bekämpfung von Bugs, gehört Cristian Cadar (links) zu den Pionieren auf diesem Gebiet. Gemeinsam mit Michael Pradel (rechts) will er das Finden und Beheben von Softwarefehlern schneller und einfacher machen.
    Geht es um die Bekämpfung von Bugs, gehört Cristian Cadar (links) zu den Pionieren auf diesem Gebiet ...
    Sven Cichowicz
    Universität Stuttgart / Sven Cichowicz

    Pradel und Cadar wollen die menschliche Seite und die Maschinenseite von Software in einem neurosymbolischen Ansatz miteinander verschmelzen.
    Pradel und Cadar wollen die menschliche Seite und die Maschinenseite von Software in einem neurosymb ...
    Sven Cichowicz
    Universität Stuttgart / Sven Cichowicz


    Criteria of this press release:
    Business and commerce, Journalists, Scientists and scholars
    Information technology
    transregional, national
    Personnel announcements, Research projects
    German


     

    Geht es um die Bekämpfung von Bugs, gehört Cristian Cadar (links) zu den Pionieren auf diesem Gebiet. Gemeinsam mit Michael Pradel (rechts) will er das Finden und Beheben von Softwarefehlern schneller und einfacher machen.


    For download

    x

    Pradel und Cadar wollen die menschliche Seite und die Maschinenseite von Software in einem neurosymbolischen Ansatz miteinander verschmelzen.


    For download

    x

    Help

    Search / advanced search of the idw archives
    Combination of search terms

    You can combine search terms with and, or and/or not, e.g. Philo not logy.

    Brackets

    You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).

    Phrases

    Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.

    Selection criteria

    You can also use the advanced search without entering search terms. It will then follow the criteria you have selected (e.g. country or subject area).

    If you have not selected any criteria in a given category, the entire category will be searched (e.g. all subject areas or all countries).