Premium
Structured debugging using a domain specific language
Author(s) -
Leavenworth B. M.
Publication year - 1977
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380070406
Subject(s) - computer science , debugging , correctness , programming language , set (abstract data type) , domain (mathematical analysis) , process (computing) , transformation (genetics) , control flow , class (philosophy) , simple (philosophy) , algorithm , artificial intelligence , mathematics , mathematical analysis , biochemistry , chemistry , philosophy , epistemology , gene
A structured approach to debugging is presented based on restricting the class of programs that can be written. This is achieved by defining a domain specific language, eliminating control flow by using aggregate operations and eliminating side effects by using an applicative language as a base. The domain specific language is realized by defining domain specific operators as extensions to the base language; a set of operators are defined in the paper for data processing applications. The debugging strategy consists of setting up a sequence of input/output transformations; this process takes the input to the output in partial stages so that the correctness of each transformation relative to its input and output set can be verified. The approach is illustrated by a simple data processing problem.