论文

少即是多:测量 LLM 参与如何影响静态分析中的聊天机器人准确性

Less Is More: Measuring How LLM Involvement affects Chatbot Accuracy in Static Analysis

摘要

大语言模型 越来越多地用于通过自然语言访问静态分析工具,但现有系统的不同之处在于它们委托给 LLM 的程度,而没有将委托程度视为自变量。我们比较了用于将自然语言翻译为 Joern 查询语言 \cpgql{} 的 LLM 参与范围的三种架构:直接查询生成 (\approach{1})、生成模式约束的 JSON 中间表示 (\approach{2}) 和工具增强代理生成 (\approach{3})。这些是在跨三个复杂性层的 20 个代码分析任务的基准上进行评估的,使用 2\(\times\)2 设计中的四个开放权重模型(两个模型系列 \(\times\) 两个尺度),每个模型都有 3 次重复。结构化中间表示(\approach{2})实现了最高的结果匹配率,在大型模型上比直接生成高出 15--25 个百分点,并且超越了代理方法,尽管后者消耗了 8\(\times\) 多的词元。结构化中间体的优势对于大型模型最为明显;对于小型模型,模式合规性成为瓶颈。这些发现表明,在形式化结构化领域中,将 LLM 的输出限制为类型良好的中间表示并将查询构造委托给确定性代码会比无约束生成或迭代工具使用产生更好的结果。