Implementing A Bug Localization Service In A Learner Code Analysis System Using Test Cases
Abstract
Providing evaluation for performance is a crucial part of developing programs as well
as in education. While teachers commonly use grading systems or test suites to evaluate
students’ performances as well as providing feedback, the results that test suites provided can
yield vague results in some cases. As students can make mistakes in the development process,
it can be difficult to track down and identify the problems occurring in their applications without
any clear insight into the location of the errors and a proper way to handle them. This thesis
introduces an approach on using a bug localization tool named FLACOCO, which utilizes a
commonly used bug localization method called Spectrum-based Fault Localization (SBFL).
SBFL uses code coverage to predict faulty lines of code and assign a suspicious score on each,
thereby improving the feedback provided to students and giving an enhanced learning
experience. The idea is to integrate this service into a previously implemented system that
generate questions about learner’s code , previously developed in a prior thesis. This integration
aims to increase the precision and provide a form of feedback by pinpointing error locations
within student submissions by using test cases provided by the teacher. However, SBFL tools
in my knowledge, have not been widely adopted due to their low maturity. Through this thesis,
I aim to offer insights into the practical application of this tool as well as demonstrating its
limitation by results and experiment.