idw - Informationsdienst
Wissenschaft
Gefördert durch einen ERC Starting Grant erforscht Prof. Michael Pradel am Institut für Software Engineering der Universität Stuttgart, wie künstliche Intelligenz Software zuverlässiger machen kann.
Spätestens seit Beginn der Covid19-Pandemie ist Software allgegenwärtig, und neuronale Netze, Deep Learning und künstliche Intelligenz sind ein wichtiger Bestandteil des Innovationsschubs der letzten Jahre – sei es in Form von autonomen Fahrzeugen, Spracherkennung oder cleveren Vorschlägen für unsere nächste Reise. Die unglaublich große Menge und Komplexität heutiger Softwaresysteme überfordern dabei nicht nur die einzelnen Softwareentwickler*innen, sondern auch die bisher verwendeten Entwicklungswerkzeuge. Die Folge sind Programmierfehler mit kostspieligen oder teils auch gefährlichen Folgen.
Vor diesem Hintergrund erforschen Prof. Michael Pradel und sein Team an der Universität Stuttgart, wie künstliche Intelligenz selbstständig Werkzeuge zur Softwareentwicklung aus den immer komplexer werdenden Programmen erlernen kann. Kern seiner Forschung, die der Europäische Forschungsrat seit 2019 mit einem der begehrten, mit 1,5 Millionen Euro dotierten ERC Starting Grants fördert, ist die neuronale Softwareanalyse. Dieses von Prof. Michael Pradel und seinem Team erforschte revolutionäre Verfahren der künstlichen Intelligenz nutzt KI zur Entwicklung von Programmen, die Softwareentwickler*innen bei ihrer täglichen Arbeit unterstützen.
Das Verfahren basiert auf dem Effekt, dass Software von Menschen geschrieben ist, und lernt aus bestehenden Softwarefehlern, wie neue Fehler automatisch gefunden werden können. „Damit macht die neuronale Softwareanalyse die Not zur Tugend“, erklärt Pradel. „Sie betrachtet die zunehmend komplexer werdenden Programme selbst als ‚Daten‘. Mittels innovativer Techniken des maschinellen Lernens kann so automatisiert Software entwickelt und weiter optimiert werden.“
Bisher werden traditionelle Werkzeuge zur Unterstützung von Softwareentwickler mittels präziser, logikbasierter Programmanalyse von Hand entwickelt. Da sich die dahinterliegende Idee einer Software allerdings nur schwer für traditionelle Analysen erschließt, stoßen diese Werkzeuge zunehmend an ihre Grenzen. Hier setzt der Ansatz der neuronalen Softwareanalyse an: Maschinelles Lernen ergänzt oder ersetzt bisherige Ansätze durch wahrscheinlichkeitsbasierte Schlussfolgerungen (probabilistische Inferenz). „Neuronale Ansätze verstehen nicht nur die mathematische Logik eines Programmes, sondern eben auch natürlichsprachige Informationen in und um Software und Konventionen, die Programmierende in der Praxis einhalten.“
Die Forschenden entwickelten künstliche Intelligenzen, welche die Bedeutung von Programm-Codes “verstehen” und Softwareentwicklern bei ihrer Arbeit zur Seite stehen. Zum Beispiel helfen die Werkzeuge beim Finden und Beheben von Programmierfehlern und machen Vorschläge, wie ein bereits geschriebener Code vervollständigt werden kann. Die künstliche Intelligenz vollzieht nach, was ein Programmierer oder eine Programmiererin mit einem bestimmten Konstrukt ausdrücken möchte und kann entscheiden, ob verschiedene Programmteile tatsächlich zusammenpassen.
Trotz des immensen Fortschritts bleiben weiterhin viele offene Fragen, die die Forschenden im weiteren Verlauf des noch bis 2025 laufenden ERC Projektes adressieren wollen. Unter anderem wollen sie besser verstehen, wie und warum die gelernten Modelle der künstlichen Intelligenz funktionieren, und wie man die neuen Methoden mit existierenden Werkzeugen kombinieren kann.
Prof. Dr. Michael Pradel, Universität Stuttgart, Institut für Software Engineering, Abt. Software Lab, Tel. +49 711 685 88320, E-Mail michael@binaervarianz.de
Neural Software Analysis, Michael Pradel, Satish Chandra, in Communications of the ACM, January 2022, Vol. 65, No. 1, Pages 86-96, DOI 10.1145/3460348, https://cacm.acm.org/magazines/2022/1/257449-neural-software-analysis/fulltext
http://www.uni-stuttgart.de/universitaet/aktuelles/meldungen/Problem-wird-Loesun... Video
Criteria of this press release:
Journalists, Scientists and scholars
Information technology, Media and communication sciences
transregional, national
Research projects, Research results
German
You can combine search terms with and, or and/or not, e.g. Philo not logy.
You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).
Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.
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).