This demonstration paper presents CMind, an artificial intelligence agent for localizing C memory bugs. The novel aspect to CMind is that it follows steps that we observed human programmers perform during empirical study of those programmers finding memory bugs in C programs. The input to the tool is a C program's source code and a bug report describing the problem. The output is the tool's hypothesis about the reason for the bug and its location. CMind reads the bug report to find potential entry points to the program, then navigates the program's source code, analyzes that source code, and generates a hypothesis location and rationale that fit a template. The tool combines large language model reasoning with guided decision making we encoded to mimic human behavior. The video demonstration is available at https://youtu.be/_vVd0LRvVHI.
翻译:本演示论文介绍CMind,一种用于定位C语言内存错误的人工智能智能体。CMind的新颖之处在于,它遵循了我们在对程序员查找C程序中内存错误的实证研究中观察到的程序员操作步骤。该工具的输入是一个C程序的源代码和描述问题的错误报告。输出则是工具对错误原因及其位置的假设。CMind通过读取错误报告来寻找程序的潜在入口点,随后导航程序的源代码,分析该源代码,并生成符合模板的假设位置及推理依据。该工具结合了大型语言模型推理与我们编码的、用于模拟人类行为的引导式决策机制。视频演示可在 https://youtu.be/_vVd0LRvVHI 观看。