当前位置: 首页 > 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.jsqmd.com/news/65577/

相关文章:

  • 必考
  • 一种 DAG 上可达性判定问题的解决方案
  • 网络空间威慑:通过“曝光”手段反制国家级网络间谍活动
  • Gemini 2.5原生音频技术与多模态能力解析
  • 实用指南:多种时间序列预测算法的MATLAB实现
  • [开源项目] 蜜蜂记账 v2.2 发布:暗黑模式、标签系统、预算管理等 10+ 新功能
  • 12 月记录
  • 嵌入式软件架构--多窗口表明1(后台软件实现)
  • 【09】Word文档处理工具
  • 谁在主导“芯片战争”
  • 定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目 - 源之缘
  • KEIL5软件查看函数最大调用深度12.7
  • 2025深圳CNC加工实力榜:金丰业五金塑胶以精密智造领跑,六家本土技术标杆企业核心优势深度解析
  • Day13-20251207
  • 一些复数的有趣的恒等式
  • DeepSeek-OCR 模型的下载
  • DeepSeek-OCR 模型的下载
  • C# 与 .NET 跨平台制作实战(第一章:开发环境搭建与.NET概述-上篇)
  • 2025散热风扇厂家实力排行榜:万航电子以智能温控技术领跑,六家高潜力本土品牌深度解析
  • AI 清洁管理系统:响应 3 秒,人力成本降低 42%
  • 2025东莞力利机械压铸设备实力榜:六家国产技术代表企业,热室与冷室压铸机核心优势深度解析
  • 岐金兰意义行为原生理论与AI元人文价值操作系统研究
  • virtualbox+ubuntu+vscode+ssh pwn环境配置
  • Maven 多模块项目与 Spring Boot 结合指南 - 教程
  • 2025砂面粉厂家实力榜:思洛尔新材料以纳米级球形蜡粉领跑,六家高潜力国产技术代表企业深度解析
  • 2025东莞包装材料厂家实力榜:共晟包装以可降解防静电技术领跑,八大环保纸袋品类深度解析
  • chat2db邀请码
  • 2025 最新高端艺术漆品牌 TOP10推荐!技术创新 + 美学表达权威榜单发布,重新定义墙面装饰新高度,行业专业数据,行业口碑榜及选择指南
  • 《密码系统设计》第十一周预习报告
  • 2025防水织带厂家实力榜:东莞市永沣织带以创新飞织技术领跑,六大高潜力本土品牌核心优势深度解析