Alle Storys
Folgen
Keine Story von Universität Bremen mehr verpassen.

Universität Bremen

Verbesserte KI-Methoden zur Erkennung von Programmierfehlern

Verbesserte KI-Methoden zur Erkennung von Programmierfehlern
  • Bild-Infos
  • Download

Verbesserte KI-Methoden zur Erkennung von Programmierfehlern

Im Auftrag des Bundesamts für Sicherheit in der Informationstechnik (BSI) haben Wissenschaftlerinnen und Wissenschaftler der Universität Bremen und Mitarbeitende der Bremer Firma Team Neusta die Möglichkeiten des Einsatzes von Künstlicher Intelligenz bei der Codeanalyse untersucht. Die Studie kann beim BSI kostenlos abgerufen werden. Bis Ende dieses Jahres soll auch ein Best-practice-Prototyp verfügbar sein.

Softwarehersteller untersuchen ihre Programme oft bereits in der Entwicklungsphase, um Fehler frühzeitig zu entdecken. Durch den Einsatz sogenannter SAST-Werkzeuge (Static Application Security Testing) lässt sich dieser Prozess teilweise automatisieren. Auch wenn sich der Nutzen solcher Tools in der Praxis gezeigt hat, übersehen sie oft Fehler oder melden viele Fehlalarme, sodass der Nutzen eingeschränkt wird. Maschinelles Lernen (ML), also automatisches Lernen aus Daten, kann dazu beitragen, die Fehlerraten solcher SAST-Werkzeuge zu reduzieren.

In einer großangelegten Studie wurde jetzt die Wirksamkeit des Einsatzes maschineller Lernverfahren in diesem Kontext untersucht, wobei auch die bestmögliche Umsetzung anhand der neuesten Forschungsansätze im Blickpunkt stand. Die AG Softwaretechnik am Technologie-Zentrum Informatik und Informationstechnik (TZI) der Universität Bremen sowie die Firmen neusta software development und neusta mobile solutions haben im Auftrag des Bundesamts für Sicherheit in der Informationstechnik (BSI) den Stand der Technik ermittelt. Im Rahmen des Projekts „Machine Learning im Kontext von Static Application Security Testing (ML-SAST)“ führten sie Umfragen, Experteninterviews und eine systematische Literaturrecherche durch. Darüber hinaus untersuchten sie am Markt erhältliche SAST-Tools bezüglich ihrer ML-Funktionalitäten und Fehlererkennungsraten.

Größtes Potenzial beim „unüberwachten Lernen“

Die Ergebnisse fassten sie in einer umfangreichen Studie zusammen, wobei sie insbesondere die erfolgversprechendsten Ansätze sowie den Forschungsbedarf in diesem Umfeld herausarbeiteten. Eine zentrale Erkenntnis besteht darin, dass in den meisten Fällen überwachte Ansätze des maschinellen Lernens („supervised learning“) genutzt werden, obwohl diese mit erheblichen Nachteilen einhergehen. „Wenn man überwachte Lernansätze verwenden möchte, braucht man gute Datensätze für das Training der Werkzeuge, und die gibt es zurzeit nicht“, erklärt TZI-Mitarbeiter Lorenz Hüther. Die Entwicklung der benötigten Datensätze sei zumindest kurzfristig „eher unrealistisch“ und auch längerfristig nur mit erheblichem Aufwand realisierbar.

Darüber hinaus erfordere das überwachte Lernen ein hohes Maß an Erklärbarkeit der Ergebnisse – sowohl die Entwickelnden als auch die Anwendenden der Werkzeuge müssen erkennen können, ob die Entscheidungskriterien des Systems sinnvoll sind.

Das größte Potenzial sieht das Projektteam daher aktuell bei unüberwachten Lernverfahren („unsupervised learning“) mit Hilfe des sogenannten Clusterings. Dabei erkennt das System zunächst alle ähnlichen Funktionen des Programms und bündelt sie, um sie zu vergleichen. Wird an einer Stelle eine Abweichung entdeckt, erkennt das Werkzeug dies als potenziellen Fehler.

Prototyp wird bis Ende des Jahres veröffentlicht

Allerdings ist weiterer Forschungs- und Entwicklungsbedarf notwendig, um das Potenzial dieser Methoden für den Einsatz in der Praxis zu steigern. Die Projektbeteiligten wollen bis Ende des Jahres einen Prototyp entwickeln, der die besten aktuell verfügbaren Verfahren im Bereich ML-SAST nutzt. Der Prototyp wird als Open-Source-Projekt umgesetzt, sodass alle interessierten Hersteller ihn für ihre Produktentwicklung verwenden können. Das BSI finanziert die Entwicklung des Prototyps.

Weitere Informationen:

Die Studie „Machine Learning in the Context of Static Application Security Testing – ML-SAST“ kann beim BSI unter diesem Link abgerufen werden:

https://www.bsi.bund.de/DE/Service-Navi/Publikationen/Studien/ML-SAST/ml-sast_node.html

Fragen beantwortet:

Lorenz Hüther

Technologie-Zentrum Informatik und Informationstechnik (TZI)

Universität Bremen

Telefon: +49 421 218-64476

E-Mail: lorenz1@uni-bremen.de

Axel Kölling

Universität Bremen
Hochschulkommunikation und -marketing
Telefon: +49 421 218-60150
E-Mail:  presse@uni-bremen.de

Über die Universität Bremen:
Leistungsstark, vielfältig, reformbereit und kooperativ – das ist die Universität Bremen. Rund 23.000 Menschen lernen, lehren, forschen und arbeiten auf dem internationalen Campus. Ihr gemeinsames Ziel ist es, einen Beitrag für die Weiterentwicklung der Gesellschaft zu leisten. Mit gut 100 Studiengängen ist das Fächerangebot der Universität breit aufgestellt. Als eine der führenden europäischen Forschungsuniversitäten pflegt sie enge Kooperationen mit Universitäten und Forschungseinrichtungen weltweit. Gemeinsam mit neun jungen Universitäten und vier assoziierten Mitgliedern aus dem Hochschul-, Nichtregierungs- und privaten Bereich gestaltet die Universität Bremen in den nächsten Jahren eine der ersten Europäischen Universitäten. Das Netzwerk YUFE – Young Universities for the Future of Europe wird von der EU-Kommission gefördert. In der Region ist die Universität Bremen Teil der U Bremen Research Alliance. Die Kompetenz und Dynamik der Universität haben zahlreiche Unternehmen in den Technologiepark rund um den Campus gelockt. Dadurch ist ein bundesweit bedeutender Innovations-Standort entstanden – mit der Universität Bremen im Mittelpunkt.



 
Weitere Storys: Universität Bremen
Weitere Storys: Universität Bremen