publication . Thesis . 2017

Algorithmic debugging for complex lazy functional programs

Faddegon, Maarten;
Open Access English
  • Published: 01 Jun 2017
  • Country: United Kingdom
Abstract
An algorithmic debugger finds defects in programs by systematic search. It relies on the programmer to direct the search by answering a series of yes/no questions about the correctness of specific function applications and their results. Existing algorithmic debuggers for a lazy functional language work well for small simple programs but cannot be used to locate defects in complex programs for two reasons: Firstly, to collect the information required for algorithmic debugging existing debuggers use different but complex implementations. Therefore, these debuggers are hard to maintain and do not support all the latest language features. As a consequence, programs...
21 references, page 1 of 2

166 168 170 Allwood, T. O., Peyton Jones, S. and Eisenbach, S. (2009). Finding the needle: stack traces for GHC. In Proceedings of the symposium on Haskell, pp. 129-140.

Augustsson, L. (1999). Partial evaluation in aircraft crew planning. In Partial Evaluation, Springer, pp. 231-245.

Av-Ron, E. (1984). Top-down diagnosis of Prolog programs. Ph.D. thesis, Weizmann Institute.

Barendregt, H. P. and Barendsen, E. (1984). Introduction to lambda calculus. [OpenAIRE]

Caballero, R., Hermanns, C. and Kuchen, H. (2007). Algorithmic debugging of Java programs. Electronic Notes in Theoretical Computer Science, 177, pp. 75-89. [OpenAIRE]

Caballero, R., López-Fraguas, F. J. and Rodríguez-Artalejo, M. (2001). Theoretical foundations for the declarative debugging of lazy functional logic programs. In Functional and Logic Programming, LNCS 2024, pp. 170-184.

Chitil, O., Runciman, C. and Wallace, M. (2003). Transforming Haskell for tracing. In Implementation of Functional Languages, LNCS 2670, pp. 165-181. [OpenAIRE]

Church, A. (1936). An unsolvable problem of elementary number theory. American journal of mathematics, 58(2), pp. 345-363. [OpenAIRE]

Claessen, K. and Hughes, J. (2000a). QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. In Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, ICFP 2000, pp. 268-279. [OpenAIRE]

Claessen, K. and Hughes, J. (2000b). QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. In Proc. 5th ACM SIGPLAN Intl. Conf. on Functional Programming, ICFP 2000, pp. 268-279. [OpenAIRE]

Hinze, R., Jeuring, J. and Löh, A. (2007). Comparing approaches to generic programming in Haskell. In Datatype-Generic Programming, Springer LNCS 4719. [OpenAIRE]

Hinze, R. and Löh, A. (2006). “Scrap your boilerplate” revolutions. In Mathematics of Program Construction, Springer LNCS 4014.

Silva, J. (2007). A comparative Study of Algorithmic Debugging Strategies. In LogicBased Program Synthesis and Transformation, LNCS 4407, pp. 143-159.

Sinclair, D. C. (1992). Debugging by Data ow-Summary. In Functional Programming, Glasgow 1991, Springer, pp. 347-351.

Sparud, J. and Runciman, C. (1997). Tracing lazy functional computations using redex trails. In Programming Languages: Implementations, Logics, and Programs, LNCS 1292, PLILP '97, pp. 291-308.

21 references, page 1 of 2
Powered by OpenAIRE Research Graph
Any information missing or wrong?Report an Issue