Article View: comp.lang.functional
Article #163Algorithmic Debugging for Lazy Functional Languages
From: Henrik Nilsson
Date: Wed, 19 Aug 1992 13:37
Date: Wed, 19 Aug 1992 13:37
45 lines
2535 bytes
2535 bytes
schiex@cert.fr (Thomas Schiex) writes: [examples illustrating the usefulness of laziness deleted] >All these GOOD thing have too be payed in terms of time (small overhead, so >small it is negligible). But the main issue is DEBUGGING which is very >difficult. Sequencing is completly disturbed and the poor human is lost when >tracing ! (obvious relations with concurrent processing). However some >papers gives interesting debugging issues for lazy languages (for Daisy, see >"Lisp and symbolic computations", in the first numbers). Our group has been involved in research on algorithmic debugging for some time and recently we have applied this technique to lazy functional languages with some success. However, several difficult problems remain to be solved before this can be regared as a practical approach. In algorithmic debugging, the program to be debugged is first executed and a complete execution trace tree is built at the procedure/function level. This tree is then searched top-down for the procedure/function invocation that caused the entire program to misbehave, and once this invocation is found it is concluded that the bug is inside the corresponding procedure/function. The user must aid the debugger in this search by answering questions regarding whether or not invocations behaved correctly. Thus the user need not concern himself with operational aspects such as execution order but can concentrate on the declarative semantics of the program instead. I'm going to present a paper on this topic at PLILP'92 next week and I'll be happy to e-mail copies (postscript) of it to anyone who is interested. -- Henrik Nilsson (henni@ida.liu.se) Department of Computer and Information Science Linkoping University S-581 83 Linkoping Sweden -- Henrik Nilsson (henni@ida.liu.se) Department of Computer and Information Science Linkoping University S-581 83 Linkoping Sweden
Technical Details
Message-ID:
<1992Aug19.133753.7451@ida.liu.se>Path:
arc1-ca.pugleaf.net!sparky!uunet!pipex!unipalm!uknet!mcsun!sunic!liuida!henniReferences:
<1992Jul12.061122.8943@eng.umd.edu> <NICKH.92Jul14151920@VOILA.VENARI.CS.CMU.EDU> <1992Jul14.205627.25659@eng.umd.edu> <DELACOUR.92Jul14152041@waxwing.parc.xerox.com> <SCHIEX.92Aug18143749@jupiter.cert.fr>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!pipex!unipalm!uknet!mcsun!sunic!liuida!henni From: henni@ida.liu.se (Henrik Nilsson) Newsgroups: comp.lang.functional Subject: Algorithmic Debugging for Lazy Functional Languages Message-ID: <1992Aug19.133753.7451@ida.liu.se> Date: 19 Aug 92 13:37:53 GMT References: <1992Jul12.061122.8943@eng.umd.edu> <NICKH.92Jul14151920@VOILA.VENARI.CS.CMU.EDU> <1992Jul14.205627.25659@eng.umd.edu> <DELACOUR.92Jul14152041@waxwing.parc.xerox.com> <SCHIEX.92Aug18143749@jupiter.cert.fr> Sender: news@ida.liu.se Organization: CIS Dept, Univ of Linkoping, Sweden Lines: 45