DDS: A declarative debugging system for functional programs
โ Scribed by Naohisa Takahashi; Satoshi Ono
- Publisher
- John Wiley and Sons
- Year
- 1990
- Tongue
- English
- Weight
- 908 KB
- Volume
- 21
- Category
- Article
- ISSN
- 0882-1666
No coin nor oath required. For personal study only.
โฆ Synopsis
Abstract
This paper describes the outline and implementation of the declarative debugging system DDS. The purpose of DDS is to provide the following debugging system for the functional program without a side effect: (1) The programmer specifies the result of execution and the intermediate result expected to the program (defines in a declarative way, and the system detects the bug automatically based on that specification; (2) an efficient guide is provided to the programmer so that the required input is less and the input can easily be given; and (3) the system has an efficient bug detection mechanism in terms of the memory capacity and the computational complexity. It is an interactive system which can be applied to a wide range of programs. This paper proposes a mechanism called filter, which gives an efficient realization of DDS. The filter is a mechanism which realizes the tabulation technique by a smallโcapacity memory, by extending the technique from the viewpoint of the bug detection. The filter is a mechanism which selectively retains the instances needed in the bug detection and controls the function call of the program using the retained data. An experimental system of DDS is constructed on VAX/VMS using Common Lisp. Debugging examples are shown, indicating the usefulness of DDS.
๐ SIMILAR VOLUMES
Depth-ยฎrst evaluation causes a gap between the result of the computation and the classical declarative semantics for logic programs. The paper presents a new semantics for logic programs closing that gap. Although not classical, this semantics, called biquantale semantics, is declarative, since it i
Parallel languages allow the programmer to express parallelism at a high level. The management of parallelism and the generation of interprocessor communication is left to the compiler and the runtime system. This approach to parallel programming is particularly attractive if a suitable widely accep
A long and lasting problem in agent research has been to close the gap between agent logics and agent programming frameworks. The main reason for this problem of establishing a link between agent logics and agent programming frameworks is identified and explained by the fact that agent programming f