{"type":"ScholarlyArticle","title":"Debugging Functional Programs","authors":[{"name":"Markus Stumptner","slug":"markus-stumptner","given":"Markus","family":"Stumptner","affiliation":""},{"name":"Franz Wotawa","slug":"franz-wotawa","given":"Franz","family":"Wotawa","affiliation":""}],"abstract":"In this paper, we use a logic-based system description for a simple (non-logic) functional language to examine the ways in which a diagnosis system can use its system description to improve debugging performance. The key concept is that the notion of expression replacement, which is the basis for repairing a program, can also serve as a fundamental heuristic for searching the source of an error. We formally define replacements in terms of fault modes, explicitly define a replacement order, and use the replacement heuristic for finding diagnoses. Finally, we incorporate the use of multiple test cases and discuss their use in discriminating between diagnoses.","doi":null,"url":"https://ijcai.org/proceedings/1999/153","pdf":"https://ijcai.org/proceedings/1999/0153.pdf","markdown":"https://ijcai.org/proceedings/1999/153.md","bibtex":"https://ijcai.org/proceedings/1999/bibtex/153","volume":{"slug":"1999","title":"Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 1999","url":"https://ijcai.org/proceedings/1999/","year":1999,"location":"Stockholm, Sweden","dates":"","editors":"Thomas Dean","isbn":"","publisher":"International Joint Conferences on Artificial Intelligence","doi_prefix":""},"section":"Qualitative Reasoning and Diagnosis","track":"Qualitative Reasoning and Diagnosis","number":153,"pages":{"first":1074,"last":1078},"keywords":[],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}