ACM Home Page
Please provide us with feedback. Feedback
Algorithmic program diagnosis
Full text PdfPdf (894 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Albuquerque, New Mexico
Pages: 299 - 308  
Year of Publication: 1982
ISBN:0-89791-065-6
Author
Ehud Y. Shapiro  Yale University, New Haven, CT
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 28,   Citation Count: 8
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/582153.582185
What is a DOI?

ABSTRACT

The notion of program correctness with respect to an interpretation is defined for a class of programming languages. Under this definition, if a program terminates with an incorrect output then it contains an incorrect procedure. Algorithms for detecting incorrect procedures are developed. These algorithms formalize what experienced programmers may know already.A logic program implementation of these algorithms is described. Its performance suggests that the algorithms can be the backbone of debugging aids that go far beyond what is offered by current programming environments.Applications of algorithmic debugging to automatic program construction are explored.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
K. R. Apt and M. H. van Emden. Contrubutions to the Theory of Logic Programming. Technical Report CS-80-12, Department of Computer Science, University of Waterloo, February, 1980.
2
 
3
Lawrence Byrd. Prolog Debugging Facilities. Technical note, Department of Artificial Intelligence, Edinburgh University. 1980.
 
4
Keith L. Clark. Negation as Failure. In H. Gallaire and J. Minker, editor, Logic and Data Bases,. Plenum, 1978.
 
5
Randall Davis. Applications of Meta Level Knowledge to the Construction, Maintenance and Use of Large Knowledge Bases. Technical Report STAN-CS-76-552, Computer Science Department, Stanford University, July, 1976.
6
 
7
Susan L. Gerhart and Lawrence Yelowitz. Observations of Fallibility in Applications of Modern Programming Methodologies. IEEE Transactions on Software Engeneering SE-2:195--207, September, 1976.
 
8
E. M. Gold. Language identification in the limit. Information and Control 10:447--474, 1967.
9
 
10
Robert A. Kowalski. Predicate Logic as a Programming Language. In Proceedings of the IFIP Congress, pages 569--574. IFIP, Amsterdam, 1974.
 
11
 
12
Zohar Manna and Richard Waldinger. Synthesis: Dreams → Programs. IEEE Transactions on Software Engeneering SE-5:294--328, July, 1979.
 
13
 
14
 
15
L. Pereira, F. Pereira and D. Warren. User's Guide to DECsystem-10 PROLOG. Technical Report 03/13/5570, Labortorio Nacional De Engenharia Civil, Lisbon, September, 1978. Provisional version.
16
17
 
18
Ehud Y. Shapiro. Execution and Debugging of Logic Programs With Uncertainties. In preparation. 1981.
 
19
Ehud Y. Shapiro. Inductive Inference of Theories from Facts. Technical Report 192, Yale University, Department of Computer Science, February, 1981.
 
20
Ehud Y. Shapiro. An Algorithm that Infers Theories from Facts. In IJCAI-81, No. 7. IJCAI, August, 1981.
 
21
T. Teitelbaum and T. Reps. The Cornell Synthesizer: a Syntax-Directed Programming Environement. Technical Report TR79-381, Department of Computer Science, Cornell University, July, 1979.
 
22
Warren Teitelman. INTERLISP Reference Manual. Technical Report, Xerox Palo Alto Research Center, September, 1978.
23