Automatic Error Localization for Software Using Deductive Verification

  • Robert Könighofer
  • Ronald Toegl
  • Roderick Bloem
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8855)


Even competent programmers make mistakes. Automatic verification can detect errors, but leaves the frustrating task of finding the erroneous line of code to the user. This paper presents an automatic approach for identifying potential error locations in software. It is based on a deductive verification engine, which detects errors in functions annotated with pre- and post-conditions. Using an automatic theorem prover, our approach finds expressions in the code that can be modified such that the program satisfies its specification. Scalability is achieved by analyzing each function in isolation. We have implemented our approach in the widely used Frama-C framework and present first experimental results.


Model Checker Error Location Fault Model Theorem Prover Proof Obligation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bloem, R., Drechsler, R., Fey, G., Finder, A., Hofferek, G., Könighofer, R., Raik, J., Repinski, U., Sülflow, A.: foREnSiC– an automatic debugging environment for C programs. In: Biere, A., Nahir, A., Vos, T. (eds.) HVC 2012. LNCS, vol. 7857, pp. 260–265. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  2. 2.
    Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C - A software analysis perspective. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 233–247. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  3. 3.
    Debroy, V., Wong, W.E.: Using mutation to automatically suggest fixes for faulty programs. In: ICST 2010. IEEE (2010)Google Scholar
  4. 4.
    Griesmayer, A., Staber, S., Bloem, R.: Automated fault localization for C programs. Electr. Notes Theor. Comput. Sci. 174(4), 95–111 (2007)CrossRefGoogle Scholar
  5. 5.
    Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: ASE 2005. ACM (2005)Google Scholar
  6. 6.
    Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. In: PLDI 2011, pp. 437–446. ACM (2011)Google Scholar
  7. 7.
    Könighofer, R., Bloem, R.: Automated error localization and correction for imperative programs. In: FMCAD 2011, IEEE (2011)Google Scholar
  8. 8.
    Könighofer, R., Toegl, R., Bloem, R.: Automatic error localization for software using deductive verification. CoRR, abs/1409.4637 (2014)Google Scholar
  9. 9.
    Larus, J.R., Ball, T., Das, M., DeLine, R., Fähndrich, M., Pincus, J.D., Rajamani, S.K., Venkatapathy, R.: Righting software. IEEE Softw. 21(3), 92–100 (2004)CrossRefGoogle Scholar
  10. 10.
    Reiter, R.: A theory of diagnosis from first principles. Art. Int. 32(1), 57–95 (1987)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Robert Könighofer
    • 1
  • Ronald Toegl
    • 1
  • Roderick Bloem
    • 1
  1. 1.IAIKGraz University of TechnologyAustria

Personalised recommendations