paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation

使用局部化抽象解释检测 Go 程序中的阻塞错误
ASE Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering2022匹配度 4/10 · 论文属于程序分析与抽象解释方法,且关注并发阻塞错误检测,但研究对象是 Go 的 channel 并发,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未聚焦于 ML/Agentic 程序中的静态分析或 AI 改进静态分析。因此与当前研究画像只有广义上的程序分析交集,匹配度有限。引用 14 inbox
Oskar Haarklou Veileborg, Georgian-Vlad Saioc, Anders Møller
crossref: 2026-09-12

AI 速览

一句话:提出局部化抽象解释方法,用于检测 Go 程序中由基于 channel 的并发导致的阻塞错误。

基于 channel 的并发是共享内存并发的重要替代,但在 Go 等语言中难以正确使用,常见错误会造成线程永久阻塞。近期研究将此类阻塞错误视为 Go 程序中的显著问题,并表明通过 SMT 编码与动态分析可自动检测其中许多错误。本文提出一种局部化抽象解释(localized abstract interpretation)方法,针对 Go 的 channel 通信与并发控制流进行静态分析,以发现可能导致阻塞的错误。摘要未展开具体实验数据与工具实现细节,但将问题定位为提升 channel 并发程序阻塞错误的自动检测能力。

问题
Go 中基于 channel 的并发难以正确使用,常见错误会导致线程无限阻塞,现有工作表明这是 Go 程序中的显著问题。
方法
论文使用局部化抽象解释(localized abstract interpretation)对 Go 程序进行静态分析,以检测可能导致阻塞的错误。
评估
摘要未给出具体实验评估;仅指出近期工作通过 SMT 编码与动态分析可自动检测许多此类错误。
原文摘要(Abstract)

Channel-based concurrency is a widely used alternative to shared-memory concurrency but is difficult to use correctly. Common programming errors may result in blocked threads that wait indefinitely. Recent work exposes this as a considerable problem in Go programs and shows that many such errors can be detected automatically using SMT encoding and dynamic analysis techniques.

链接与引用

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

BibTeX
@inproceedings{paperbot7175,
  title = {Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation},
  author = {Oskar Haarklou Veileborg and Georgian-Vlad Saioc and Anders Møller},
  booktitle = {ASE},
  year = {2022},
  doi = {10.1145/3551349.3561154}
}