From Counterexamples to Incremental Interactive Tracing of Errors

Abstract This article summarizes the goals and the first results of the project CITE — from Counterexamples to Interactive Incremental Tracing of Errors — at the National Institute of Informatics (NII) in Tokyo, Japan. CITE aims at developing the fundamental methods for generating both comprehensive and comprehensible error reports based on model checking results. Model checking is a powerful and efficient method for finding flaws in hardware designs, object-oriented software, business processes, and hypermedia applications. One remaining major obstacle to a broader application of model checking is its limited usability for non-experts. It requires much effort and insight to determine the root cause of errors from counterexamples generated by model checkers in the case of a specification violation. The CITE project addresses this problem by proposing tree structured error reports that can be refined successively to the desired level of detail according to the user´s interest. First evaluations demonstrate that the proposed approach reveals more errors and explains the cause of errors more accurately than the counterexamples of existing model checkers. Zusammenfassung Dieser Beitrag gibt einen Überblick über die Ziele und die ersten Ergebnisse des Projekts CITE — from Counterexamples to Interactive Incremental Tracing of Errors — am National Institute of Informatics (NII) in Tokyo, Japan. Ziel ist die Generierung von präzisen, vollständigen und dennoch verständlichen Fehleranalysen mit Hilfe von Model-Checking. Model-Checking ist geeignet, um manuell schwer zu findende Fehler in komplexen Hardware- und Softwaresystemen automatisch nachzuweisen. Eine bestehende Hürde für die breitere Anwendung von Model-Checking, etwa zur Fehleranalyse von Geschäftsprozessen und Web-Anwendungen, ist die eingeschränkte Benutzerunterstützung. Die durch Model-Checking generierten Fehlerberichte sind oft lang und schwer zu interpretieren. Wir schlagen eine neue Methode für die Generierung von hierarchisch strukturierten Fehlerberichten vor, die in Interaktion mit dem Benutzer schrittweise verfeinert werden können. Erste Experimente im Anwendungsgebiet von Web-Dokumenten bestätigen, dass das vorgeschlagene Verfahren geeignet ist, um mehr Fehler zu finden, die Fehler präziser zu lokalisieren und die Fehlerursache besser nachvollziehbar zu machen als dies mit bisherigen Model-Checking-Verfahren möglich ist.