Tool "DDT" findet Fehler und Absturzursachen

Software spürt schlechte Gerätetreiber auf

Armin Weiler kümmert sich um die rechercheintensiven Geschichten rund um den ITK-Channel und um die Themen der Distribution. Zudem ist er für den Bereich PCs und Peripherie zuständig. Zu seinen Spezialgebieten zählen daher Notebooks, PCs, Smartphones, Drucker, Displays und Eingabegeräte. Bei der inoffiziellen deutschen IT-Skimeisterschaft "CP Race" ist er für die Rennleitung verantwortlich.

Tests ohne Quellcode

Gerade bei Windows sind viele Treiber nicht quelloffen, sodass der Code selbst gar nicht zur Verfügung stünde und somit auch nicht analysiert werden kann. Daher setzten die EPFL-Forscher darauf, mit DDT das Verhalten von Gerätetreibern im Betrieb mit einer "Symbolic Execution" genannten Methode möglichst genau zu prüfen. Die meisten Tests erfolgen dabei in einer virtuellen Maschine. Mit dem Tool lassen sich dabei diverse Probleme von Speicherlecks über Schutzverletzungen bis hin zu Endlosschleifen aufspüren.

Um das Tool zu testen, haben die Forscher damit vier Netzwerk- und zwei Soundkartentreiber untersucht, die allesamt Microsoft-zertifiziert sind. In jedem einzelnen hat DDT zumindest einen neuen Fehler entdeckt und das in allen Fällen innerhalb von Minuten. Dafür reicht ein normaler PC. "Wir versuchen, Konsumenten die Möglichkeit zu geben, Treiber zu testen", betont Candea. Denn das würde Kunden die Möglichkeit bieten, sich bei schlechten Produkten für andere Treiber und auch Hardware zu entscheiden. "Damit steigt der Druck auf Hersteller, fehlerfreie Gerätetreiber zu liefern", meint der Informatiker.

Stabilitäts-Spezialisten

Candeas Team hat mit Dimmunix auch ein Tool entwickelt, das Abstürze bei laufenden Programmen verhindert. "Prinzipiell wäre es wirklich interessant, beide Ansätze zu kombinieren", meint Candea auf Nachfrage von pressetext. Denn der Anwender hat bei einmal gekaufter Hardware oft keine andere Wahl, als den zugehörigen Treiber zu nutzen. Leider ist die Kombination in der Praxis nicht möglich. "Gerätetreiber sind im System etwas so Grundlegendes, dass Dimmunix damit nicht wirklich interagieren kann", erklärt der Informatikprofessor. (pte/bw)

Zur Startseite