paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Human-in-the-loop oracle learning for semantic bugs in string processing programs

面向字符串处理程序中语义缺陷的人在回路 oracle 学习
ISSTA Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis2022匹配度 4/10 · 论文属于机器学习与程序语言交叉,关注字符串处理程序语义缺陷的自动调试与人机协商 oracle,和PL+AI有弱关联;但它不涉及用户核心关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,且更偏测试调试而非所追踪的问题。引用 12 inbox
Charaka Geethal Kapugama, Van-Thuan Pham, Aldeida Aleti, Marcel Böhme
crossref: 2026-09-12

AI 速览

一句话:提出人在回路的 oracle 学习设想,通过与用户协商失败条件,为字符串处理程序的语义缺陷实现自动调试。

论文关注字符串处理程序中的语义缺陷:程序不崩溃,但会针对某些输入产生用户认为不正确的输出,传统崩溃检测无法发现。作者提出一种全自动的语义缺陷调试流程设想:用户报告某个输入下的非预期行为,机器随后与用户协商程序失败所应满足的条件;在协商过程中,机器学习预测用户响应,并据此学习一个面向语义缺陷的自动化测试预言(oracle)。摘要中未报告具体实现细节、评估或实验结果,属于方法与愿景层面的工作。

问题
如何自动调试字符串处理程序中的语义缺陷,即程序不崩溃但输出不符合用户预期的问题。
方法
提出人在回路的 oracle 学习流程:用户报告非预期行为,机器与用户协商失败条件,并在此过程中学习预测用户反馈、获得自动 oracle。
评估
摘要未描述实现或实验评估;该工作主要给出全自动语义缺陷调试流程的愿景与方法框架。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot7390,
  title = {Human-in-the-loop oracle learning for semantic bugs in string processing programs},
  author = {Charaka Geethal Kapugama and Van-Thuan Pham and Aldeida Aleti and Marcel Böhme},
  booktitle = {ISSTA},
  year = {2022},
  doi = {10.1145/3533767.3534406}
}