Willkommen, Michael Pradel!
Neuer CISPA-Faculty ist Experte für Softwaresicherheit
Viele grundlegende Bereiche moderner Lebensführung beruhen auf dem einwandfreien Funktionieren von Softwaresystemen: Sie steuern und strukturieren Betriebsabläufe, Fertigungsanlagen, Transportsysteme, die Bereitstellung von Strom, Wasser, Lebensmitteln und vieles mehr. Nicht selten leiden diese Systeme jedoch an Programmierfehlern, die Programmabstürze, Fehlverhalten oder Sicherheitslücken begünstigen können. Mit seiner oft praxisnahen Forschung im Bereich der Softwaretestung und -analyse unterstützt Michael Pradel Softwareentwickler:innen dabei, Fehler beim Programmieren von Software zu vermeiden. Zu diesem Zweck entwickelt er in seinem „Software Lab“ Prototypen von Werkzeugen und sucht den Austausch mit der Entwickler-Community.
„Wir wollen den Developern die bestmöglichen Werkzeuge in die Hand geben“
Das „Software Lab“, Michael Pradels elfköpfige Forschungsgruppe an der Universität Stuttgart, arbeitet im Bereich des Software Engineering und befasst sich hauptsächlich mit Fragen der Softwarequalität. Dazu gehört Sicherheit ebenso wie Zuverlässigkeit und Effizienz. Für ihn und seine Gruppe liegen Grundlagenforschung und anwendungsorientierte Forschung eng beisammen, wie Pradel erklärt: „Wir machen Grundlagenforschung, aber wir machen auch Forschung, die sehr nah dran ist, an dem was Entwickler tagtäglich machen. Den großen Firmen sind wir in der Regel ein paar Jahre voraus – in diesem Sinne ist es Grundlagenforschung – aber der Weg zur Praxis ist für uns nicht weit.“
Um den Dialog mit der Praxis zu gewährleisten, arbeitet Pradel mit Open-Source-Entwickler:innen zusammen und pflegt Kontakte in der Industrie. 2019 verbrachte er etwa ein Sabbatical bei Facebook in Kalifornien, um dort Ideen aus der Forschung in die Anwendung zu überführen. Über die Arbeit des „Software Lab“ sagt er, „Um die Qualität von Software zu optimieren, bauen wir Werkzeuge für Softwareentwickler. Programme, die Softwareentwickler nutzen, um ihre Programme und ihren Code zu schreiben – wir wollen ihnen die bestmöglichen Werkzeuge in die Hand geben, mit dem sie bei ihrer Arbeit möglichst gut vorankommen.“
„Pionierarbeit an der Schnittstelle von KI und Software“
Traditionelle Developer-Werkzeuge, die zur Analyse von Softwareprogrammen verwendet werden, basieren auf rein mathematisch-logischen Schlussfolgerungen. Die Analysen dieser Tools fallen oft lückenhaft aus, da Software von Menschen gemacht ist. Das bedeutet, dass Software nicht ausschließlich präzise, logisch und effizient aufgebaut ist, sondern auch auf Konventionen und gängigen Umsetzungen einer Programmiersprache beruht: Ebenso wie natürliche Sprachen, können auch Programmiersprachen mehr oder weniger idiomatisch verwendet werden. Diese Informationen bleiben konventionellen Tools verborgen, wie Pradel erläutert: „Symbolisch-logische Techniken betrachten Programme im Prinzip wie eine mathematische Formel, die sie Schritt für Schritt durchgehen, um zu sehen, was das Programm tatsächlich macht. Sie erfassen aber leider nicht, was das Programm eigentlich hätte tun sollen.“
Um diese Lücke zu schließen, möchte Pradel die konventionellen symbolisch-logischen Techniken stärker mit einem KI-basierten, neuronalen Ansatz verzahnen. Denn die großen, aufwändig trainierten LLMs von Drittanbietern verfügen nicht nur über umfängliches Wissen über menschliches Denken und Handeln, sondern kennen sich auch aus mit Programmen und Code. Dieses Wissen kann für die Softwareanalyse genutzt werden. „Die neuronalen Ansätze“, so Pradel, „können eher wie ein Mensch auf Software schauen und eher verstehen, was das Programm eigentlich machen soll. Wenn wir die Zusammenführung von symbolisch-logischen Techniken mit KI-Techniken noch weiter pushen und das Beste aus beiden Ansätzen bekommen, können wir die Herausforderungen bei der Softwareentwicklung noch besser angehen.“
„Exzellente Forschung mit Impact in der echten Welt“
Mit seinem Software Lab zählt Pradel zu den ersten Forschenden auf dem Gebiet des Software Engineering, die diese neuro-symbolische Herangehensweise verfolgt und vorangetrieben haben. „Mit dieser Mischung aus KI und symbolisch-logischen Techniken, in denen keine KI drinsteckt, haben wir bereits relativ früh begonnen, schon vor etwa neun Jahren, und waren damit die Pioniere in diesem Bereich an der Schnittstelle zwischen KI und Software“, erinnert sich Pradel. Mit den Ressourcen, die ihm als CISPA-Faculty zur Verfügung stehen werden, will er sich der Entwicklung immer nützlicherer Werkzeuge widmen: „Das Neueste, was wir bauen wollen, sind autonome Agenten, denen man eine Aufgabe gibt – etwa, „finde in dieser Software Schwachstellen und behebe die auch gleich“ – und die diese Aufgabe mehr oder weniger selbstständig bearbeiten, indem sie selbst Werkzeuge benutzen und das imitieren, was ein Mensch an dieser Stelle machen würde.“ Warum er mit dem CISPA den richtigen Ort für seine Pionierarbeit gefunden hat, hat Pradel schnell beantwortet: „Der Fokus am CISPA liegt eben dort, wo ich den Fokus für meine Arbeit auch sehen würde: Exzellente Forschung machen, die dann hoffentlich einen Impact in der echten Welt hat.“
Zur Person
Prof. Dr. Michael Pradels Forschung konzentriert sich auf die Bereiche Software Engineering, Programmiersprachen, IT-Sicherheit und Maschinelles Lernen. Er ist Professor für Informatik an der Universität Stuttgart, wo er das Software Lab leitet. Zuvor forschte Pradel als Post-Doc an der ETH Zürich und der University of California, Berkeley, war Assistenzprofessor an der TU Darmstadt und verbrachte einen Forschungsaufenthalt bei Facebook in Menlo Park, Kalifornien. Promoviert wurde Pradel 2012 an der ETH Zürich mit seiner Dissertation zu „Program Analyses for Automatic and Precise Error Detection“. Er studierte Informatik an der Technischen Universität Dresden und Ingenieurswissenschaften an der École Centrale Paris.
Auf internationalen Bühnen ist Michael Pradels Forschung vielfach geehrt worden. Zu seinen Auszeichnungen zählen etwa der Software Engineering Preis der Ernst-Denert-Stiftung, ein ERC Starting Grant sowie ein ERC Proof of Concept Grant. 2022 ernannte die Association for Computing Machinery (ACM) ihn zum Distinguished Member und würdigte damit seine exzellenten Forschungsergebnisse, die bereits in Werkzeugen von Softwareentwickler:innen zur Anwendung kommen. Pradels Konferenzbeiträge sind unter anderem mit 5 ACM SIGSOFT Distinguished Paper Awards und 2 ACM SIGSOFT Distinguished Artifacts Awards ausgezeichnet worden.