Human-in-the-loop oracle learning for semantic bugs in string processing programs
Charaka Geethal Kapugama, Van-Thuan Pham, Aldeida Aleti, Marcel Böhme · 2022
How can we automatically repair semantic bugs in string-processing programs? A semantic bug is an unexpected program state: The program does not crash (which can be easily detected). Instead, the program processes the input incorrectly. It produces an output which users identify as unexpected. We envision a fully automated debugging process for semantic bugs where a user reports the unexpected behavior for a given input and the machine negotiates the condition under which the program fails. During the negotiation, the machine learns to predict the user's response and in this process learns an automated oracle for semantic bugs.