Computer-Chips: Dem Fehler auf der Spur
Eine Fehlersuche bei Computer-Chips gleicht häufig der Suche nach der Nadel im Heuhaufen. Die Europäische Union (EU) fördert nun ein Informatikprojekt der Universität Bremen für die Automatisierung der Fehlersuche bei eingebetteten Systemen.
Moderne Computerchips bestehen aus über einer Milliarde Komponenten. Diese große Anzahl wird auf einer nur wenige Quadratzentimeter großen Fläche verbaut. Werden Fehler festgestellt, gleicht die Bestimmung der Ursache der Suche nach der Nadel im Heuhaufen. Die Arbeitsgruppe Rechnerarchitektur unter der Leitung von Professor Rolf Drechsler aus dem Studiengang Informatik der Universität Bremen arbeitet seit einigen Jahren an der Automatisierung der Fehlersuche beim Entwurf eingebetteter Systeme, die aus Hardware- und Software-Komponenten bestehen.
Unter maßgeblicher Mitarbeit von Dr. Görschwin Fey ist in den vergangenen Jahren eine Methodik auf Basis formaler Methoden entwickelt worden, die Fehlerstellen sehr präzise lokalisieren kann. Basierend auf diesen Vorarbeiten ist jetzt von der EU das Projekt DIAMOND mit einem Volumen von 2,9 Millionen Euro genehmigt worden, bei dem die Bremer Arbeitsgruppe mit Partnern aus der Industrie und weiteren Universitäten aus Estland, Österreich und Schweden zusammenarbeitet. Unter den Industriepartnern befinden sich unter anderem Firmen wie Ericsson und IBM, aber auch die kleineren Firmen TransEDA und Testonica Lab. Die Arbeitsgruppe von Professor Drechsler wird im Rahmen des Projektes mit über einer halben Million Euro in den kommenden drei Jahren gefördert.
Das DIAMOND-Projektziel ist, das “Debugging” oder “Entwanzen” in der Praxis deutlich zu vereinfachen und dadurch zu beschleunigen. Bisher werden die Fehler unter großem Zeitaufwand von Hand gesucht. Im Rahmen des Projekts sollen Methoden entwickelt werden, um Fehlerursachen schnell zu finden und zu beseitigen. Dies umfasst nicht nur Programmierfehler, sondern auch Fehler, die während des Betriebes durch Umgebungsstrahlung oder Alterungseffekte entstehen. Für die Fehlersuche sollen nun automatische formale Beweismethoden eingesetzt werden. Statt dass der Programmierer von Hand mögliche Fehlerstellen findet, untersucht, das Design modifiziert und so schließlich eine Korrektur vornehmen muss, übernimmt ein Software-Werkzeug diese Schritte vollautomatisch. Im Ergebnis liefert das Werkzeug Erklärungen, wie der Fehler entstehen kann, und macht Vorschläge für die Korrektur. Durch den Einsatz formaler Methoden wird hierbei gewährleistet, dass unterschiedlichste Arten von Fehlern in einer einheitlichen Umgebung analysiert werden können.