[论文解读] 2LS: Heap Analysis and Memory Safety (Competition Contribution)
2LS 是一个用于 C 程序的静态分析框架,通过基于模板的合成与增量 $k$-归纳法结合形状和内容不变式,增强了堆分析。它通过在程序中插入断言并利用基于 SAT 的推理,实现了对内存安全属性(如空指针解引用、使用已释放内存和内存泄漏)的验证,在一个专注于复杂数据结构的新 MemSafety 类别基准中成功验证了 9 个基准。
2LS is a framework for analysis of sequential C programs that can verify and refute program assertions and termination. The 2LS framework is built upon the CPROVER infrastructure and implements template-based synthesis techniques, e.g. to find invariants and ranking functions, and incremental loop unwinding techniques to find counterexamples and k-induction proofs. The main improvements in this year's version are the ability of 2LS to analyse programs requiring combined reasoning about shape and content of dynamic data structures, and an instrumentation for memory safety properties.
研究动机与目标
- 解决需要同时推理数据结构形状与元素值的复杂堆操作 C 程序验证挑战。
- 通过为空指针解引用、使用已释放内存和内存泄漏编码断言,改进内存安全验证。
- 扩展 2LS 框架,通过抽象域组合与符号路径追踪,实现对动态数据结构的精确分析。
- 利用增量 SAT 求解,实现对具有无界数据结构(如带值约束的单向链表)的程序的可扩展验证。
- 向 SV-COMP 竞赛贡献新基准,以评估对动态数据结构中形状与内容推理的能力。
提出的方法
- 将 C 程序表示为单静态分配(SSA)形式的 GOTO 程序,包含循环展开与过度近似。
- 使用基于模板的合成方法在抽象域中计算归纳不变式,结合形状、区域(区间)与符号路径域。
- 通过合取形状与多面体(区域)不变式构造乘积域,以联合推理指针结构与数值。
- 引入符号路径以追踪哪些循环被执行,支持路径敏感的不变式与幂域组合,提升精度。
- 通过插入断言来检测内存安全违规:$p \neq \mathtt{NULL}$ 用于空指针解引用,$p \neq \mathit{fr}$ 用于使用已释放内存,$\mathit{fr} \neq \&ao_{i}^{co}$ 用于内存泄漏。
- 利用 $k$-归纳与 $k$-不变式($k$IkI)算法实现增量 SAT 求解,以证明或反驳断言与程序终止性。
实验结果
研究问题
- RQ1静态分析框架能否有效结合 C 程序中动态数据结构的形状与内容推理?
- RQ2如何通过符号执行与不变式合成精确编码并验证内存安全属性(如空指针解引用与使用已释放内存)?
- RQ3基于模板的合成与域组合在复杂堆操作程序验证中的改进程度如何?
- RQ4符号路径抽象在不同程序路径上提升不变式精度方面的有效性如何?
- RQ5$k$IkI 算法在验证具有无界数据结构与复杂内存操作的程序时的可扩展性与准确性如何?
主要发现
- 2LS 在涉及值被限制在区间 [1,10] 的无界单向链表的 10 个新基准中成功验证了 9 个,展示了其在联合形状与内容分析方面的强大能力。
- 在 SV-COMP MemSafety 类别中,该框架优于所有其他工具,其他工具最多仅验证了 3 个新形状与内容基准。
- 空指针解引用与使用已释放内存的内存安全检查通过断言编码,并利用基于 SAT 的推理被证明是安全的,竞赛中未报告任何误报。
- 仅在无循环或循环完全展开的程序中,内存泄漏检测被证明是安全的,这是由于在抽象动态对象中无法追踪所有对象所致。
- 该工具在 MemSafety 类别中获得第 4 名,仅以微弱差距错失领奖台,由于未确认的见证者,终止性分析仍面临重大挑战。
- $k$IkI 算法在顺序 C 程序中表现出可扩展性,但在处理递归与数组内容推理方面仍存在局限。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。