当前位置: 首页 > news >正文

[论文笔记] Interleaving Static Analysis and LLM Prompting

Introduction

来自 PLDI’24 的 workshop SOAP。一种交错使用 LLM 和静态分析工具的方法,应用于 C 语言编写的系统代码中函数的错误规范推断问题。

image

Background

EESI

C 语言并没有错误处理。开发者会把错误代码作为返回值返回,对这些返回值的处理不当容易引发 bug。错误规范是指函数在发生错误时返回的值的集合。

EESI 就是针对错误规范的一个静态分析工具。EESI 接受多种形式的用户提供的可选初始领域知识:(1) 初始错误规范,(2) 一组已知的错误代码,(3) 成功代码,以及 (4) 仅在错误路径中被调用的错误函数。借助这些初始的领域知识,EESI 使用静态分析推断新的错误规格。推理规则包括:若函数返回一个预定义的错误码,则该值为错误值;若函数调用了“仅错误路径调用的函数”,则其返回值应为错误值等等。

EESI 具有两个固有缺陷:(1)EESI 的推理规则是对惯用的代码模式的建模,提供的近似不足以建模所有的程序,(2)EESI 无法处理第三方代码。

LLM

Overview example

image

EESI 对于 x509_get_attr_type_value 只推断出了 \(\bot\)。LLM 也没有推理出正确的错误规范,推断出错误路径上的返回值是负错误代码 MBEDTLS_ERR_X509_INV_NAME 加上任何非零值,也就是 \(\top\)。如果我们还在LLM提示中包含来自 EESI 的中间结果(图中的 Function Context),那么 LLM 能够返回 x509_get_attr_type_value 在错误时返回的值 \(< 0\)。LLM 也可以帮助 EESI 分析下面的这个代码的错误规范:

image

LLM 另一个好处是可以通过语义关系推测错误代码和未知外部函数的关系,比如函数 otrng_global_state_instance_tags_read_ from 和代码 OTRNG_ERROR

Approach

Prompt

提示词包括 common context,function context 和 question。

  • Common context 包括问题描述和EESI静态分析器使用的抽象域的解释,共同上下文还包含来自领域知识输入的任何错误代码、成功代码和错误函数。还提供多个基本的思维链示例以便 LLM 生成可解析的输出。
  • Function context 与正在被 LLM 查询的函数的任何相关的错误规范有关。

Error specification inference

image

由于第三方函数没有源代码定义,因此我们无法对其进行静态分析,所以交给 LLM 看是否能学到错误规范。如果 EESI 分析失败了,再次调用 LLM 进行分析。

这个工作的思路比较简单。

http://www.zskr.cn/news/76109.html

相关文章:

  • 必考
  • 实用指南:多种时间序列预测算法的MATLAB实现
  • KEIL5软件查看函数最大调用深度12.7
  • DeepSeek-OCR 模型的下载
  • 2025散热风扇厂家实力排行榜:万航电子以智能温控技术领跑,六家高潜力本土品牌深度解析
  • AI 清洁管理系统:响应 3 秒,人力成本降低 42%
  • virtualbox+ubuntu+vscode+ssh pwn环境配置
  • 2025砂面粉厂家实力榜:思洛尔新材料以纳米级球形蜡粉领跑,六家高潜力国产技术代表企业深度解析
  • 2025防水织带厂家实力榜:东莞市永沣织带以创新飞织技术领跑,六大高潜力本土品牌核心优势深度解析
  • 《密码系统设计》第十二周预习报告
  • 2025广东懒人全自动酿酒设备实力榜:六家本土技术代表企业,以智能蒸汽与不锈钢工艺领跑行业深度解析
  • FortiGuard 应用控制服务更新:新版本特性与签名变动
  • 服装人体工效学
  • 2025广东泽洋金属材料实力榜:七大不锈钢型号深度解析,301至316L精密合金引领行业革新
  • 2025防静电地板厂家实力排行榜:广东立品以六面包钢技术领跑,七大高潜力品类深度解析
  • 2025东莞蔚林服饰毛衣厂家实力榜:六家羊绒针织技术代表企业,小香风与高领长款男女童装深度解析
  • windows c++ 程序的编译分析
  • AI元人文的奠基性架构:论“意义行为原生”理论与数字文明价值操作系统
  • 三项神经突破变革机器人学习
  • 2025铁氟龙高温线厂家实力榜:明秀电子以极细线径技术领跑,六家高潜力本土品牌深度解析
  • 图解IIS8上解决ASP.Net第一次访问慢的处理
  • 11 ORM关联表、事务
  • 2025 AI 搜索品牌监测工具选型指南:主流系统推荐与排名洞察解决方案
  • 有名的汽配车间通风降温工业冷风机源头厂家,工厂降温车间/生产车间通风降温/敞开式车间通风降温/工厂车间降温通风工业冷风机厂家哪家好
  • 2025高压加速老化试验箱实力榜:东莞伟煌以创新热流仪技术领跑,六家国产精密设备厂商深度解析
  • 第十五节:对账详解
  • Ubuntu 下使用 Wine 工具实现 QQ、微信、WinRar 和百度网盘的使用
  • 物联网设备多物理场耦合环境下的自适应参数动态调控技术 - 教程
  • Unity 和 Unity Hub 下载的 unitypackage 的保存位置
  • windows使用.bat文件启动jar - 华