Advertisement

EDD: A Declarative Debugger for Sequential Erlang Programs

  • Rafael Caballero
  • Enrique Martin-Martin
  • Adrian Riesco
  • Salvador Tamarit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8413)

Abstract

Declarative debuggers are semi-automatic debugging tools that abstract the execution details to focus on the program semantics. This paper presents a tool implementing this approach for the sequential subset of Erlang, a functional language with dynamic typing and strict evaluation. Given an erroneous computation, it first detects an erroneous function (either a “named” function or a lambda-abstraction), and then continues the process to identify the fragment of the function responsible for the error. Among its features it includes support for exceptions, predefined and built-in functions, higher-order functions, and trusting and undo commands.

References

  1. 1.
    Armstrong, J., Williams, M., Wikstrom, C., Virding, R.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall (1996)Google Scholar
  2. 2.
    Caballero, R., Martin-Martin, E., Riesco, A., Tamarit, S.: A zoom-declarative debugger for sequential Erlang programs. Submitted to the JLAPGoogle Scholar
  3. 3.
    Caballero, R., Martin-Martin, E., Riesco, A., Tamarit, S.: A declarative debugger for sequential Erlang programs. In: Veanes, M., Viganò, L. (eds.) TAP 2013. LNCS, vol. 7942, pp. 96–114. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. 4.
    Insa, D., Silva, J.: An algorithmic debugger for Java. In: Lanza, M., Marcus, A. (eds.) Proc. of ICSM 2010, pp. 1–6. IEEE Computer Society (2010)Google Scholar
  5. 5.
    Naish, L.: Declarative diagnosis of missing answers. New Generation Computing 10(3), 255–286 (1992)CrossRefGoogle Scholar
  6. 6.
    Nilsson, H.: How to look busy while being as lazy as ever: the implementation of a lazy functional debugger. Journal of Functional Programming 11(6), 629–671 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Silva, J.: A comparative study of algorithmic debugging strategies. In: Puebla, G. (ed.) LOPSTR 2006. LNCS, vol. 4407, pp. 143–159. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Silva, J.: A survey on algorithmic debugging strategies. Advances in Engineering Software 42(11), 976–991 (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Rafael Caballero
    • 1
  • Enrique Martin-Martin
    • 1
  • Adrian Riesco
    • 1
  • Salvador Tamarit
    • 2
  1. 1.Universidad Complutense de MadridMadridSpain
  2. 2.Babel Research GroupUniversitat Politécnica de MadridMadridSpain

Personalised recommendations