一句话:从语言理论视角给出异步程序安全、终止与有界性验证的通用可判定/不可判定边界,覆盖高阶情形。
论文研究异步共享内存程序验证的可判定性。作者采用语言理论视角,将异步程序中的处理者抽象为形式语言类,证明在温和假设下,安全与终止验证可判定当且仅当底层语言类的空性问题可判定;同时给出配置可达性与活性(公平终止)验证等价,且其可判定性蕴含语言上“等字母”问题可判定。作为主要结果,得到高阶异步程序(如使用 Lwt 的 OCaml 程序)的安全、终止与有界性验证可判定,而二阶异步程序的活性验证已不可判定。结果统一并推广了已有结论,刻画了异步程序可判定性边界。
The model of asynchronous programming arises in many contexts, from low-level systems software to high-level web programming. We take a language-theoretic perspective and show general decidability and undecidability results for asynchronous programs that capture all known results as well as show decidability of new and important classes. As a main consequence, we show decidability of safety, termination and boundedness verification for higher-order asynchronous programs -- such as OCaml programs using Lwt -- and undecidability of liveness verification already for order-2 asynchronous programs. We show that under mild assumptions, surprisingly, safety and termination verification of asynchronous programs with handlers from a language class are decidable iff emptiness is decidable for the underlying language class. Moreover, we show that configuration reachability and liveness (fair termination) verification are equivalent, and decidability of these problems implies decidability of the well-known "equal-letters" problem on languages. Our results close the decidability frontier for asynchronous programs.
@article{paperbot1648,
title = {General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond},
author = {Rupak Majumdar and Ramanathan S. Thinniyam and Georg Zetzsche},
journal = {Logical Methods in Computer Science},
volume = {Volume 18, Issue 4},
year = {2022},
doi = {10.46298/lmcs-18(4:2)2022}
}