Finding and Fixing Faults

  • Stefan Staber
  • Barbara Jobstmann
  • Roderick Bloem
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3725)


We present a method for combined fault localization and correction for sequential systems. We assume that the specification is given in linear-time temporal logic and state the localization and correction problem as a game that is won if there is a correction that is valid for all possible inputs. For invariants, our method guarantees that a correction is found if one exists. The set of fault models we consider is very general: components can be replaced by arbitrary new functions. We compare our approach to model based diagnosis and show that it is more precise. We present experimental data that supports the applicability of our approach, obtained from a symbolic implementation of the algorithm in the Vis model checker.


  1. [B+96]
    Brayton, R.K., et al.: VIS: A system for verification and synthesis. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 428–432. Springer, Heidelberg (1996)Google Scholar
  2. [BNR03]
    Ball, T., Naik, M., Rajamani, S.K.: From symptom to cause: Localizing errors in counterexample traces. In: 30th Symposium on Principles of Programming Languages (POPL 2003), January 2003, pp. 97–105 (2003)Google Scholar
  3. [CFTD93]
    Console, L., Friedrich, G., Theseider Dupré, D.: Model-based diagnosis meets error diagnosis in logic programs. In: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI 1993), pp. 1494–1499. Morgan-Kaufmann, San Francisco (1993)Google Scholar
  4. [CGP99]
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  5. [CT91]
    Console, L., Torasso, P.: A spectrum of logical definitions of model-based diagnosis. Computational Intelligence 7(3), 133–141 (1991)CrossRefGoogle Scholar
  6. [CWH94]
    Chung, P.-Y., Wang, Y.-M., Hajj, I.N.: Logic design error diagnosis and correction. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 2, 320–332 (1994)CrossRefGoogle Scholar
  7. [FAVS+04]
    Fahim Ali, M., Veneris, A., Safarpur, S., Drechsler, R., Smith, A., Abadir, M.: Debugging sequential circuits using boolean satisfiability. In: International Conference on Computer Aided Design, pp. 204–209 (2004)Google Scholar
  8. [Gro04]
    Groce, A.: Error explanation with distance metrics. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 108–122. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. [GV03]
    Groce, A., Visser, W.: What went wrong: Explaining counterexamples. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 121–135. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. [HD84]
    Hamscher, W., Davis, R.: Diagnosing circuits with state: An inherently underconstrained problem. In: Proceedings of the Fourth National Conference on Artificial Intelligence (AAAI 1984), Austin, TX, pp. 142–147 (1984)Google Scholar
  11. [JGB05]
    Jobstmann, B., Griesmayer, A., Bloem, R.: Program repair as a game. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 226–238. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. [JRS02]
    Jin, H., Ravi, K., Somenzi, F.: Fate and free will in error traces. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 445–459. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. [KW87]
    de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artificial Intelligence 32, 97–130 (1987)zbMATHCrossRefGoogle Scholar
  14. [LTH90]
    Liaw, H.-T., Tsiah, J.-H., Hajj, I.N.: Efficient automatic diagnosis of digital circuits. In: Proceedings of the IEEE International Conference on Computer Aided Design, pp. 464–467 (1990)Google Scholar
  15. [MCB89]
    Madre, J.C., Coudert, O., Billon, J.P.: Automating the diagmosis and the rectification of design error with PRIAM. In: Proceedings of the IEEE International Conference on Computer Aided Design, pp. 30–33 (1989)Google Scholar
  16. [PGA87]
    Poole, D.L., Goebel, R., Aleliunas, R.: Theorist: a logical reasoning system for defaults and diagnosis. In: Cercone, N., McCalla, G. (eds.) The Knowledge Frontier: Essays in the Representation of Knowledge, pp. 331–352. Springer, Heidelberg (1987)Google Scholar
  17. [Rei87]
    Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32, 57–95 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  18. [RR03]
    Renieris, M., Reiss, S.P.: Fault localization with nearest neighbor queries. In: International Conference on Automated Software Engineering, Montreal, Canada, October 2003, pp. 30–39 (2003)Google Scholar
  19. [RS04]
    Ravi, K., Somenzi, F.: Minimal assignments for bounded model checking. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 31–45. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  20. [SW99]
    Stumptner, M., Wotawa, F.: Debugging functional programs. In: Proceedings on the 16th International Joint Conference on Artificial Intelligence (1999)Google Scholar
  21. [TYSH94]
    Tomita, M., Yamamoto, T., Sumikawa, F., Hirano, K.: Rectification of multiple logic design errors in multiple output circuits. In: Proceedings of the Design Automation Conference, pp. 212–217 (1994)Google Scholar
  22. [VW94]
    Vardi, M., Wolper, P.: Reasoning about infinite computations. Information and Computation 115, 1–37 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  23. [WB95]
    Wahba, A., Borrione, D.: Design error diagnosis in sequential circuits. In: Camurati, P.E., Eveking, H. (eds.) CHARME 1995. LNCS, vol. 987, pp. 171–188. Springer, Heidelberg (1995)Google Scholar
  24. [Zel02]
    Zeller, A.: Isolating cause-effect chains from computer programs. In: 10th International Symposium on the Foundations of Software Engineering (FSE-10), November 2002, pp. 1–10 (2002)Google Scholar
  25. [ZH02]
    Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering 28(2), 183–200 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Stefan Staber
    • 1
  • Barbara Jobstmann
    • 1
  • Roderick Bloem
    • 1
  1. 1.Graz University of Technology 

Personalised recommendations