A Knowledge-based Automated Debugger in Learning System
Abdullah Mohd Zin (1), Syed Ahmad Aljunid (1, 2), Zarina Shukur, (1), Mohd Jan Nordin (1) ((1) Universiti Kebangsaan Malaysia, Bangi,, Malaysia, (2) Universiti Teknologi MARA, Shah Alam, Malaysia)

TL;DR
This paper introduces Adil, a knowledge-based automated debugger designed specifically for educational purposes, enabling students to self-debug programs through pattern recognition and a library of common bugs and solutions.
Contribution
It presents a novel, user-friendly debugger tailored for learners, utilizing a knowledge-base of stereotyped code and bugs for effective self-debugging.
Findings
Successfully locates and explains logical errors in student programs.
Differentiates between correct code and bugs using pattern matching.
Provides meaningful explanations of program meaning when no errors are found.
Abstract
Currently, programming instructors continually face the problem of helping to debug students' programs. Although there currently exist a number of debuggers and debugging tools in various platforms, most of these projects or products are crafted through the needs of software maintenance, and not through the perspective of teaching of programming. Moreover, most debuggers are too general, meant for experts as well as not user-friendly. We propose a new knowledge-based automated debugger to be used as a user-friendly tool by the students to self-debug their own programs. Stereotyped code (cliche) and bugs cliche will be stored as library of plans in the knowledge-base. Recognition of correct code or bugs is based on pattern matching and constraint satisfaction. Given a syntax error-free program and its specification, this debugger called Adil (Automated Debugger in Learning system) will…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Teaching and Learning Programming · Software Engineering Research
