谷歌浏览器插件
订阅小程序
在清言上使用

Model Checking Of Concurrent Algorithms: From Java To C

DISTRIBUTED, PARALLEL AND BIOLOGICALLY INSPIRED SYSTEMS(2010)

引用 3|浏览16
暂无评分
摘要
Concurrent software is difficult to verify. Because the thread schedule is not controlled by the application, testing may miss defects that occur under specific thread schedules. This problem gave rise to software model checking, where the outcome of all possible thread schedules is analyzed.Among existing software model checkers for multi-threaded programs, Java Path Finder for Java bytecode is probably the most flexible one. We argue that compared to C programs, the virtual machine architecture of Java, combined with the absence of direct low-level memory access, lends itself to software model checking using a virtual machine approach. C model checkers, on the other hand, often use a stateless approach, where it is harder to avoid redundancy in the analysis.Because of this, we found it beneficial to prototype a concurrent algorithm in Java, and use the richer feature set of a Java model checker, before moving our implementation to C. As the thread models are nearly identical, such a transition does not incur high development cost. Our case studies confirm the potential of our approach.
更多
查看译文
关键词
virtual machine,model checking
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要