Proceedings

Debugging Functional Programs

Download BibTeX Cite

Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence. Qualitative Reasoning and Diagnosis. Pages 1074-1078.

© 1999 International Joint Conferences on Artificial Intelligence

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.

  1. [Bond, 1994] Gregory W. Bond. Logic Programs for Consistency-Based Diagnosis. PhD thesis, Carleton Uni- versity, Faculty of Engineering, Ottawa, Canada, 1994.
  2. [Bond, 1996] Gregory W. Bond. Top-down consistency based diagnosis. In Proc. DX'96 Workshop, Val Morin, Canada, 1996.
  3. [Console et al., 1993] Luca Console, Gerhard Friedrich, and Daniele Theseider Dupre. Model-based diagnosis meets error diagnosis in logic programs. In Proceedings of the lnternationalloint Conference on Artificial Intelligence, pages 1494-1499, Chambery, August 1993. IJCAI
  4. Morgan Kauf- mann.
  5. [de Kleer and Williams, 1987] Johan de Kleer and Brian C. Williams. Diagnosing multiple faults. Artificial Intelli- gence, 32(1):97-130, 1987.
  6. [Friedrich and Nejdl, 1992] Gerhard Friedrich and Wolfgang Nejdl. Choosing observations and actions in model-based diagnosis-repair systems. In Proc. KR Conf, pages 489- 498, Cambridge, MA, October 1992.
  7. Morgan Kaufmann. [Friedrich et al., 1996]
  8. Gerhard Friedrich, Markus Stumpt- ner, and Franz Wotawa. Model-based diagnosis of hard- ware designs. In Proceedings of the European Conference on Artificial Intelligence ( ECA/), Budapest, August 1996.
  9. [Fritzson and Nilsson, 1994] Peter Fritzson and Henrik Nils- son. Algorithmic debugging for lazy functional languages. Journal of Functional Programming, 4(3), 1994.
  10. [Gotlieb et al., 1998] Arnaud Gotlieb, Bernard Botella, and Michel Rueher. Automatic test data generation using con- straint solving techniques. In Proc. ACM ISSTA, pages 53-62, March 1998.
  11. [Mcllraith, 1993] Sheila Mcllraith. Generating tests using abduction. In Proc. DX'93 Workshop, September 1993.
  12. [Missier et al., 1994] Antoine Missier, Spyros Xanthakis, and Louise Trave-Massuyes. Qualitative Algorithmics us- ing Order of Growth Reasoning. In Proc. ECAI 94, pages 750-754, 1994.
  13. [Offutt and Lee, 1994] Jefferson A. Offutt and Stephen D. Lee. An empirical evaluation of weak mutation. IEEE Transactions on Software Engineering, 20(5):337-344, 1994.
  14. [Reiter, 1987] Raymond Reiter. A theory of diagnosis from first principles. Artificial Intelligence, 32(1):57-95, 1987.
  15. [Shapiro, 1983] Ehud Shapiro. Algorithmic Program Debug- ging. MIT Press, Cambridge, Massachusetts, 1983.
  16. [Struss and Dressler, 1989] Peter Struss and Oskar Dressler. Physical negation-Integrating fault models into the gen- eral diagnostic engine. In Proc. 11th IJCAI, pages 1318- 1323, Detroit, August 1989. IJCAI
  17. [Stumptner and Wotawa, 1996] Markus Stumptner and Franz Wotawa. A model-based approach to software de- bugging. In Proc. DX'96 Workshop, Val Morin, Canada, 1996.
  18. [Stumptner and Wotawa, 1997] Markus Stumptner and Franz Wotawa. Diagnosing tree-structured systems. In Proc. 16th IJCAJ, Nagoya, Japan , 1997. IJCAI
  19. [Weiser, 1984] Mark Weiser. Program slicing. IEEE Trans- actions on Software Engineering, 10(4):352-357, July 1984.
  20. [Williams and Nayak, 1997] Brian C. Williams and P. Pan- durang Nayak. A reactive planner for a model-based exec- utive. In Proc. 16th IJCA/, pages 1178-1185, 1997. IJCAI
  21. [Wotawa, 1996] Franz Wotawa. Applying Model-Based Di- agnosis to Software Debugging of Concurrent and Se- quential Imperative Programming Languages. PhD thesis, Technische Universitlit Wien, 1996.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards