{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/69603"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/69603","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Debugging Logic Programs Using Executable Specifications","abstract":"This dissertation addresses the use of executable specifications in debugging logic programs which are renowned for their clean syntax and well-understood semantics, and for the feature that one can use a single language for both specification and computation. We have formulated a computer model that encodes programming knowledge including a classification of program bugs, heuristics that analyze and repair program errors, and operational semantics of the language, and utilizes deductive and inductive inference strategies to reason with programs and their specifications.","abstract_html":"This dissertation addresses the use of executable specifications in debugging logic programs which are renowned for their clean syntax and well-understood semantics, and for the feature that one can use a single language for both specification and computation. We have formulated a computer model that encodes programming knowledge including a classification of program bugs, heuristics that analyze and repair program errors, and operational semantics of the language, and utilizes deductive and inductive inference strategies to reason with programs and their specifications.","abstract_has_math":false,"creators":["Lee, Yuh-Jeng"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Dershowitz, Nachum"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2014,"date_issued":"2014-12-15T19:26:08Z","date_published":"2014-12-15T19:26:08Z","updated_at":"2026-07-22T22:26:01Z","subjects":["Computer Science"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(UMI)AAI8908745"],"render_values":[{"text":"(UMI)AAI8908745","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/69603","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Dershowitz, Nachum"]},{"key":"dc:creator","label":"Author","values":["Lee, Yuh-Jeng"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2014-12-15T19:26:08Z","10000-01-01","1988"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/69603","(UMI)AAI8908745"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["This dissertation addresses the use of executable specifications in debugging logic programs which are renowned for their clean syntax and well-understood semantics, and for the feature that one can use a single language for both specification and computation. We have formulated a computer model that encodes programming knowledge including a classification of program bugs, heuristics that analyze and repair program errors, and operational semantics of the language, and utilizes deductive and inductive inference strategies to reason with programs and their specifications.","The realization of our methodology is the Constructive Interpreter which functions as a debugger as well as a program synthesizer. It contains three major components: test case generator, bug locator, and bug corrector. When supplied with a program and its executable specifications, the test case generator can generate test data systematically by executing specifications. The Constructive Interpreter then executes the program on the test data. Should the execution fail to return an answer that agrees with the specifications, the bug locator will automatically locate a bug that is causing the failure. The bug corrector then analyzes the nature of the bug and utilizes correction heuristics which guide the use of the specifications and which attempt to repair the bug. This bug fixing process might involve the use of (1) a deductive theorem prover which will try to construct a proof and deduce sufficient conditions to amend the program, and (2) an inductive program generator which will synthesize the missing part of the program.","Made available in DSpace on 2014-12-15T19:26:08Z (GMT). No. of bitstreams: 1 8908745.pdf: 5272282 bytes, checksum: 0cda1d66962007b4665a30dda48bdff3 (MD5) Previous issue date: 1988","Embargo set by: Seth Robbins for item 69769 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","152 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1988."]},{"key":"dc:title","label":"Title","values":["Debugging Logic Programs Using Executable Specifications"]}]}],"canonical_facts":{"dc:contributor":["Dershowitz, Nachum"],"dc:creator":["Lee, Yuh-Jeng"],"dc:date":["2014-12-15T19:26:08Z","10000-01-01","1988"],"dc:description":["This dissertation addresses the use of executable specifications in debugging logic programs which are renowned for their clean syntax and well-understood semantics, and for the feature that one can use a single language for both specification and computation. We have formulated a computer model that encodes programming knowledge including a classification of program bugs, heuristics that analyze and repair program errors, and operational semantics of the language, and utilizes deductive and inductive inference strategies to reason with programs and their specifications.","The realization of our methodology is the Constructive Interpreter which functions as a debugger as well as a program synthesizer. It contains three major components: test case generator, bug locator, and bug corrector. When supplied with a program and its executable specifications, the test case generator can generate test data systematically by executing specifications. The Constructive Interpreter then executes the program on the test data. Should the execution fail to return an answer that agrees with the specifications, the bug locator will automatically locate a bug that is causing the failure. The bug corrector then analyzes the nature of the bug and utilizes correction heuristics which guide the use of the specifications and which attempt to repair the bug. This bug fixing process might involve the use of (1) a deductive theorem prover which will try to construct a proof and deduce sufficient conditions to amend the program, and (2) an inductive program generator which will synthesize the missing part of the program.","Made available in DSpace on 2014-12-15T19:26:08Z (GMT). No. of bitstreams: 1 8908745.pdf: 5272282 bytes, checksum: 0cda1d66962007b4665a30dda48bdff3 (MD5) Previous issue date: 1988","Embargo set by: Seth Robbins for item 69769 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","152 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1988."],"dc:identifier":["http://hdl.handle.net/2142/69603","(UMI)AAI8908745"],"dc:subject":["Computer Science"],"dc:title":["Debugging Logic Programs Using Executable Specifications"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:01Z"}