Advertisement

Learning the Language of Error

  • Martin Chapman
  • Hana ChocklerEmail author
  • Pascal Kesseli
  • Daniel Kroening
  • Ofer Strichman
  • Michael Tautschnig
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9364)

Abstract

We propose to harness Angluin’s \(L^*\) algorithm for learning a deterministic finite automaton that describes the possible scenarios under which a given program error occurs. The alphabet of this automaton is given by the user (for instance, a subset of the function call sites or branches), and hence the automaton describes a user-defined abstraction of those scenarios. More generally, the same technique can be used for visualising the behavior of a program or parts thereof. This can be used, for example, for visually comparing different versions of a program, by presenting an automaton for the behavior in the symmetric difference between them, or for assisting in merging several development branches. We present initial experiments that demonstrate the power of an abstract visual representation of errors and of program segments.

Keywords

Word Length Regular Language Membership Query Deterministic Finite Automaton Error Trace 
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.

References

  1. 1.
  2. 2.
    Angluin, D.: Learning \(k\)-bounded context-free grammars. Technical report, Dept. of Computer Science, Yale University (1987)Google Scholar
  3. 3.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Angluin, D., Fisman, D.: Learning regular omega languages. In: Auer, P., Clark, A., Zeugmann, T., Zilles, S. (eds.) ALT 2014. LNCS, vol. 8776, pp. 125–139. Springer, Heidelberg (2014) Google Scholar
  5. 5.
    Angluin, D., Kharitonov, M.: When won’t membership queries help? (extended abstract). In: Proceedings of 23rd STOC, pp. 444–454. ACM (1991)Google Scholar
  6. 6.
    Ball, T., Naik, M., Rajamani, S.K.: From symptom to cause: localizing errors in counterexample traces. In: Proceedings of 30th POPL, pp. 97–105 (2003)Google Scholar
  7. 7.
    Basu, S., Saha, D., Lin, Y.-J., Smolka, S.A.: Generation of all counter-examples. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003. LNCS, vol. 2767, pp. 79–94. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  8. 8.
    Beer, I., Ben-David, S., Chockler, H., Orni, A., Trefler, R.J.: Explaining counterexamples using causality. Formal Methods Syst. Des. 40(1), 20–40 (2012)CrossRefzbMATHGoogle Scholar
  9. 9.
    Beyer, D.: Software verification and verifiable witnesses. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 401–416. Springer, Heidelberg (2015) Google Scholar
  10. 10.
    Bollig, B., Katoen, J.-P., Kern, C., Leucker, M., Neider, D., Piegdon, D.R.: libalf: the automata learning framework. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 360–364. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  11. 11.
    Botinc̆an, M., Babić, D.: Sigma*: symbolic learning of input-output specifications. In: Proc. of 40th POPL, pp. 443–456. ACM (2013)Google Scholar
  12. 12.
    Clarke, E., Kroning, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004) CrossRefGoogle Scholar
  13. 13.
    Copty, F., Irron, A., Weissberg, O., Kropp, N.P., Kamhi, G.: Efficient debugging in a formal verification environment. STTT 4(3), 335–348 (2003)CrossRefzbMATHGoogle Scholar
  14. 14.
    Farzan, A., Chen, Y.-F., Clarke, E.M., Tsay, Y.-K., Wang, B.-Y.: Extending automated compositional verification to the full class of omega-regular languages. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 2–17. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  15. 15.
    Giannakopoulou, D., Rakamarić, Z., Raman, V.: Symbolic learning of component interfaces. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 248–264. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  16. 16.
    Groce, A., Chaki, S., Kroening, D., Strichman, O.: Error explanation with distance metrics. STTT 8(3), 229–247 (2006)CrossRefGoogle Scholar
  17. 17.
    Hoenicke, J., Leino, K., Podelski, A., Schäf, M., Wies, T.: Doomed program points. Formal Methods Syst. Des. 37(2–3), 171–199 (2010)CrossRefzbMATHGoogle Scholar
  18. 18.
    Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation, 2nd edn. Addison-Wesley, Reading (2000) zbMATHGoogle Scholar
  19. 19.
    Leucker, M., Neider, D.: Learning minimal deterministic automata from inexperienced teachers. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012, Part I. LNCS, vol. 7609, pp. 524–538. Springer, Heidelberg (2012) Google Scholar
  20. 20.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Martin Chapman
    • 1
  • Hana Chockler
    • 1
    Email author
  • Pascal Kesseli
    • 2
  • Daniel Kroening
    • 2
  • Ofer Strichman
    • 3
  • Michael Tautschnig
    • 4
  1. 1.Department of InformaticsKing’s College LondonLondonUK
  2. 2.Department of Computer ScienceUniversity of OxfordOxfordUK
  3. 3.Information Systems EngineeringTechnionHaifaIsrael
  4. 4.EECSQueen Mary University of LondonLondonUK

Personalised recommendations