Tikanga, Pachika und Javalanche helfen bei der Fehlersuche

Uni des Saarlandes erforscht automatische Fehlerbehebung per Programmanalyse

In drei Projekten haben Forscher an der Universität des Saarlandes die Fehlersuche und -analyse bei der Softwareentwicklung erforscht. Hinter den exotischen Namen Javalanche, Pachika und Tikanga stecken Tests für Testprogramme, sich selbst reparierende Software und Codeanalyse.

Artikel veröffentlicht am ,
Tikanga, Pachika und Javalanche helfen bei der Fehlersuche

Ein Team um Andreas Zeller arbeitet im Rahmen des Forschungsprojekts Autofix an drei Softwarewerkzeugen: Tikanga, Pachika und Javalanche. Zeller ist Professor an der Universität des Saarlandes und beschäftigt sich seit mehreren Jahren mit der Erkennung von Softwarefehlern. Von ihm stammt das erstmals 2005 erschienene Buch 'Why programs fail', das sich mit Debugging beschäftigt.

Tikanga: Analyse von Programmierregeln

Im Tikanga-Projekt haben die Forscher rund 6.000 freie Linux-Programme - etwa 200 Millionen Programmzeilen - aus dem Gentoo-Projekt analysiert. Daraus konnten sie etwa 16 Millionen Regeln ableiten. Sie wurden nach Häufigkeit gewichtet. Anhand dieser Statistik können Entwickler überprüfen, ob ihr Programmierstil dem anderer Programmierer entspricht.

Anhand der gefundenen Regeln kann innerhalb des Programmcodes aber auch schnell nach spezifischen Fehlern oder Anomalien gefahndet werden, etwa nach redundanten Fehlern eines Entwicklers. Das Tikanga-Framework kann Sourcecode mit C-ähnlicher Syntax analysieren, etwa C++, Java, C# oder PHP sowie Java-Bytecode.

Auf der Webseite checkmycode.org können Interessierte ihren Code mit den Ergebnissen des Forschungsprojekts vergleichen.

Pachika: Die Software repariert sich selbst

Pachika überwacht Programme zur Laufzeit und stellt Abstürze fest. Läuft das System wieder, erkennt Pachika den Fehler und repariert das Programm entsprechend. Die Software patcht sich also selbst. Pachika klinkt sich über eine Bibliothek in das Programm ein und überwacht dessen Aktionen. Dabei werden die Abläufe protokolliert und verglichen. Bislang wurde Pachika mit mehreren Millionen Zeilen Java-Bytecode getestet.

Pachika kann als Quellcode oder im Binärformat heruntergeladen und getestet werden.

Javalanche: Tests für Softwaretests

Um Softwaretests zu testen, wenden die Forscher ihr Projekt Javalanche an. Javalanche streut absichtlich Fehler in den Programmcode, um zu prüfen, ob ein Debugger die Fehler findet. Javalanche wurde - wie der Name schon impliziert - speziell für Javacode entwickelt. Dabei verwendet Javalanche die Mutationsprüfung, geht aber noch einen Schritt weiter. Zum einen wurde die Prüfgeschwindigkeit optimiert, indem Javalanche direkt auf den Bytecode eines Programms zugreift.

Außerdem kann bei der einfachen Mutationsprüfung die Semantik des Programmcodes unverändert bleiben, was zu äquivalenten Mutationen führt und False-Positives-Meldungen verursacht. Javalanche betrachtet deshalb den Einfluss, den Mutationen auf dynamische Invarianten haben. Je mehr Invarianten auftauchen, desto höher ist die Wahrscheinlichkeit, dass eine Mutation auch für das Prüfen eines Testprogramms sinnvoll ist. Getestet wurde das Programm an sieben großen Java-Applikationen. Dabei wurden weniger als 3 Prozent äquivalente Mutationen festgestellt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Direkte-E-Fuel-Produktion  
Porsches Masterplan hinter dem Verbrennerkompromiss

Der Sportwagenhersteller will künftig E-Fuels direkt im Fahrzeug produzieren. Dazu übernimmt Porsche das strauchelnde Start-up Sono Motors.
Ein Bericht von Friedhelm Greis

Direkte-E-Fuel-Produktion: Porsches Masterplan hinter dem Verbrennerkompromiss
Artikel
  1. BrouwUnie: Tesla verkauft Giga Bier zu einem stolzen Preis
    BrouwUnie
    Tesla verkauft Giga Bier zu einem stolzen Preis

    Tesla hat, wie von Elon Musk versprochen, nun eine eigene Biermarke im Angebot und verkauft drei Flaschen für knapp 90 Euro.

  2. Google: Ursache für Acropalypse-Lücke in Android seit Jahren bekannt
    Google
    Ursache für Acropalypse-Lücke in Android seit Jahren bekannt

    Eine wohl undokumentierte API-Änderung führte zu der Acropalypse-Sicherheitslücke. Das Problem dabei ist Google schon früh gemeldet worden.

  3. Sprachmodelle: Warum ChatGPT so erfolgreich ist
    Sprachmodelle
    Warum ChatGPT so erfolgreich ist

    KI-Insider Wie erklärt sich der Erfolg von ChatGPT, obwohl es nur eines von vielen Sprachmodellen und leistungsstarken KI-Systemen ist? Drei Faktoren sind ausschlaggebend.
    Von Thilo Hagendorff

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • ASUS VG27AQ1A QHD/170 Hz 269€ • Crucial P3 Plus 1 TB 60,98€ • ViewSonic VX3218-PC-MHDJ FHD/165 Hz 227,89€ • MindStar: be quiet! Pure Base 600 79€ • Alternate: Corsair Vengeance RGB 64-GB-Kit DDR5-6000 276,89€ und Weekend Sale • Elex II 12,99€ • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /