Program Feedback via Calling-Context Repair Templates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current automatic feedback generation techniques in programming education are limited in providing accurate and efficient feedback for complex programming tasks, often relying on syntax comparison and requiring manual intervention, which is time-consuming and prone to errors.
Innovation Solution
A data-driven feedback generation method that uses a computing device to match functions in a student's program with prestored correct answer programs, identifies error functions, generates repair templates based on calling-contexts, and creates edit scripts to correct errors, thereby providing accurate and rapid feedback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If syntax comparison is used for feedback generation, then the feedback can be generated automatically, but the accuracy is insufficient for complex programming tasks
Solution Approach 1:
The patent introduces calling-context as an intermediary element between the student's code and the reference code. Instead of directly comparing syntax, the system extracts calling-context (function calls, parameters, control flow) from both the student's incorrect code and reference correct code, then compares these contextual representations. This intermediary approach enables automatic feedback generation while achieving high accuracy for complex programming tasks by focusing on the semantic meaning rather than superficial syntax matching.
2Measurement precision
If manual debugging is performed, then the feedback can be personalized and accurate, but a lot of time is consumed and mistakes are easily made
Solution Approach 1:
The system enables self-service feedback generation by automatically extracting calling-context from student submissions and comparing it with calling-context from reference solutions. The automated process identifies discrepancies in function calls, parameters, and control flow, then generates personalized feedback without human intervention. This self-service mechanism maintains high accuracy while eliminating time consumption and human errors associated with manual debugging.
Solution Approach 2:
The system implements an automated feedback loop where student code is continuously evaluated against reference solutions using calling-context comparison. The feedback mechanism identifies specific errors in function calls, parameters, and control flow, then provides targeted suggestions for correction. This automated feedback system operates rapidly and accurately, freeing educators from manual review while providing students with timely, personalized guidance.
3Extent of automation
If data-driven feedback generation is used, then the feedback can be generated automatically, but it works well only when a reference program with almost matching syntax exists
Solution Approach 1:
The patent transforms the comparison parameters from superficial syntax elements to semantic calling-context elements. Instead of comparing code structure, variable names, or formatting, the system extracts and compares calling-context parameters such as function call sequences, parameter types, control flow patterns, and data dependencies. This parameter transformation enables the system to handle complex programming tasks with diverse coding styles and structures, achieving both high automation and broad adaptability.
Data Source
AI summary
Disclosed is a method for feedback of a program, which is performed by a computing device including at least one processor, which include: matching respective functions included in a first program received from an external device with respective functions included in a prestored correct answer program corresponding to the first program; identifying error functions different from the respective functions included in the correct answer program among the respective functions included in the first program; generating at least one repair template including at least one reference function extracted based on a calling-context for a function of a specific function in order to repair the error function among the prestored functions; generating a first edit script for repairing the error function to at least one reference function based on a first repair template among one or more repair templates; and transmitting a signal including the first edit script to the external device.


