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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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)CrossRefMATHMathSciNetGoogle 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