Abstract

AbstractThis 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call