"Armada" prüft komplexe Software auf "Bugs"

Intelligentes System findet mögliche Fehler im Code mithilfe mathematischer Methoden

Prüfung: "Armada" findet Software-"Bugs" (Foto: pixabay.com, jamesmarkosborne)

Prüfung: "Armada" findet Software-"Bugs" (Foto: pixabay.com, jamesmarkosborne)

Michigan/Pittsburgh/Redmond (pte/18.06.2020/06:05) Forscher der University of Michigan http://umich.edu und der Carnegie Mellon University http://cmu.edu haben zusammen mit Microsoft Research http://microsoft.com eine Technik entwickelt, um komplexe Computerprogramme ohne traditionelle Software-Tests auf "Bugs" zu prüfen. Hierfür setzen sie auf das System "Armada", das auf Basis des Prinzips der formalen Verifikation arbeitet und mithilfe mathematischer Methoden feststellt, ob Algorithmen auch wirklich richtig funktionieren und genau das tun, was sie sollen.

Simultane Berechnungen

"Unser System zielt auf Software ab, bei der mehrere Aufgaben simultan berechnet werden. Diese sogenannte 'concurrent execution' ist eine weitverbreitete Methode, um die Leistung zu erhöhen", erklärt Manos Kapritsos, Assistant Professor für Computer Science & Engineering an der University of Michigan. Ein gängiges Beispiel hierfür sei etwa die Anwendung bei Multi-Core-CPUs. "Die große Herausforderung dabei ist, dass viele Code-Threads gleichzeitig koordiniert werden müssen", erläutert Projekt-Mitarbeiter Upamanyu Sharma.

"Um die Korrektheit solcher Programme zu verifizieren, muss man auch die riesige Zahl von möglichen Verzahnungen in Betracht ziehen, die auftreten können, wenn multiple Berechnungen gleichzeitig ablaufen", so Sharma. In der Praxis sei das schwierig und aufwendig. "Im Moment gibt es zwar eine Reihe von Ansätzen für concurrent executions. In unserem Projekt wollen wir aber ein einziges Framework entwickeln, über das User mehrere Prüftechniken anwenden können, um den Aufwand so stark wie möglich zu reduzieren."

Vereinfachter Programmcode

Bei Armada wird ein Programmcode, der auf simultane Berechnungen setzt, zunächst durch eine Reihe von Transformationen auf eine viel einfachere Form gebracht. "Der Entwickler muss dann nur überprüfen, ob jeder Vereinfachungsschritt auch wirklich repräsentativ für das komplexere ganze Programm ist. Nach jeder Transformation kann man nachschauen, ob das System korrekt arbeitet und das gleiche tut wie im Schritt zuvor", schildert Kapritsos.

Die Überprüfung selbst übernimmt Armada automatisch für jeden einzelnen Schritt der Vereinfachung. Wird ein Fehler gefunden, kann der Nutzer den letzten Schritt noch einmal ändern und neuerlich prüfen lassen. "Letztlich muss der Entwickler nur eine Spezifikation für das gesamte System vornehmen. Im Bereich der Prüfung von concurrent-Programmen ist das die Methode, die mit Abstand am wenigsten Aufwand verlangt", betont der Forscher.

 

(Anm. der Red.) weitere Details unter https://www.microsoft.com/en-us/research/publication/armada-low-effort-verification-of-high-performance-concurrent-programs/

(Ende)
pressetext.redaktion

Aussender: pressetext.redaktion
Ansprechpartner: Markus Steiner
E-Mail: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel.: +43-1-81140-314
Website: www.pressetext.com

Teilen: Twitter


© pressetext.deutschland +++ pressetext.austria +++ pressetext.schweiz +++ termindienst +++ fotodienst +++ newsfox.com und der jeweilige Aussender

http://www.pressetext.com/news/20200618002
pte20200618002
Forschung/Entwicklung, Technologie/Digitalisierung

Medieninhaber und Herausgeber:
pressetext Nachrichtenagentur GmbH, Josefstädter Straße 44, A-1080 Wien
pressetext ist reichweitenstärkster Nachrichtenverbreiter für Entscheider und Journalisten in der DACH-Region. Die inhaltliche Verantwortung für redaktionelle Meldungen (pte) liegt bei pressetext, für Pressemitteilungen (pts) und Kapitalmarktmitteilungen börsennotierter Unternehmen (pta) beim jeweiligen Aussender. Die Nachrichten werden auf den pressetext-Länderplattformen publiziert und je nach Abonnement-Profil und gewählter Zustellart einzeln oder täglich als Newsletter an die Abonnenten verschickt. Weitere Informationen erhalten Sie bei unserem Redaktionsservice unter Tel. +43-1-81140-300.

 

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv