paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting Element Accessing Bugs in C++ Sequence Containers

检测 C++ 序列容器中的元素访问 Bug
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 3/10 · 论文属于传统静态分析与抽象解释,关注 C++ STL 序列容器元素访问缺陷(边界检查、容器大小与迭代器跟踪),与用户核心方向(PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及其与 LLM 的交叉)没有直接交集,也不涉及 LLM/Agent 或机器学习系统。虽然静态分析主题与 PL 背景相关,但应用场景和交叉点不匹配。引用 1 inbox
Zhilin Li, Xutong Ma, Mengze Hu, Jun Yan
crossref: 2026-09-12

AI 速览

一句话:指出 C++ STL 序列容器元素访问缺乏边界检查,现有静态分析器因难以精确跟踪容器大小和迭代器目标而难以检测此类缺陷。

论文关注 C++ 标准模板库(STL)中序列容器(如 vector)的元素访问缺陷检测。此类访问操作在编译期和运行期均不检查边界,可能引发缓冲区溢出等内存错误。现有静态分析器难以发现这些 bug,原因在于若不精确分析序列容器和迭代器的行为,就无法准确跟踪容器大小以及迭代器目标。要检测元素访问缺陷,需要针对序列容器与迭代器的行为进行准确分析,以支撑对大小和迭代器目标的跟踪。摘要未提供具体技术方案、实现或评估结果。

问题
C++ STL 序列容器的元素访问不做边界检查,容易导致缓冲区溢出等内存错误;现有静态分析器难以精确跟踪容器大小与迭代器目标,因而难以检测这类缺陷。
方法
摘要未给出具体方法细节;仅指出检测此类缺陷需要准确分析序列容器和迭代器的行为,从而精确跟踪容器大小与迭代器目标。
评估
摘要未提供评估方式、实验设置或关键结果。
原文摘要(Abstract)

Sequence Containers (SC) in the C++ Standard Template Library (STL), such as the vector, are widely used in large-scale projects for their maintainability and flexibility. However, accessing the elements in an SC is bug-prone, as such operations will not check their boundaries during compilation or execution, which can lead to memory errors, such as buffer overflow problems. And these bugs are difficult to detect with available static analyzers, since the size of SCs and the target of iterators cannot be precisely tracked without accurate analysis of the behavior of SCs and iterators.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot8379,
  title = {Detecting Element Accessing Bugs in C++ Sequence Containers},
  author = {Zhilin Li and Xutong Ma and Mengze Hu and Jun Yan},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695471}
}