并行程序的过程间CUBA分析(扩展的Mandarin pt)
CUBA: Interprocedural Context-UnBounded Analysis of Concurrent Programs (Extended Manuscript)
摘要:
Ramalingam关于同步敏感的过程间程序分析的一个经典结果表明,运行递归过程的并发线程的可达性是不可判定的。由Qadeer和Jesus of提出的一种技术,限制线程之间允许的上下文切换的数量,导致了一个不完整的解决方案,但是,相信在实践中可以捕获“大多数错误”。该技术是否也可以证明至少在某些情况下没有错误的问题在很大程度上仍然是开放的。在本文中,我们介绍了一个广泛的验证方法,观察资源参数的变化如何影响程序的行为的资源参数化的程序。应用于上下文无界分析问题(CUBA),该方法的结果在部分验证技术的过程并发程序。我们的解决方案可能不会终止,但能够反驳和证明并发递归线程的上下文无界安全。我们证明了我们的方法的有效性,使用各种各样的例子,其中的安全不能被证明是安全的早期,上下文有界的方法。
英文摘要:
A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to bound the number of context switches allowed between the threads, leads to an incomplete solution that is, however, believed to catch "most bugs" in practice. The question whether the technique can also prove the absence of bugs at least in some cases has remained largely open. In this paper we introduce a broad verification methodology for resource-parameterized programs that observes how changes to the resource parameter affect the behavior of the program. Applied to the context-unbounded analysis problem (CUBA), the methodology results in partial verification techniques for procedural concurrent programs. Our solutions may not terminate, but are able to both refute and prove context-unbounded safety for concurrent recursive threads. We demonstrate the effectiveness of our method using a variety of examples, the safe of which cannot be proved safe by earlier, context-bounded methods.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。