摘要
在并行时代,模型检测技术(通常也被称为状态空间搜索)是验证并行程序正确性的有效方法.由于线程执行次序的不确定性,线程之间交互次序的改变导致程序状态呈指数性增长,因此在利用状态空间搜索法搜索程序状态时,状态爆炸是亟需解决的难题.为了改善该问题,提出基于分组的模型检测方法.针对操作不同变量的线程,在程序中简单添加制导语句对其进行分组,之后利用该分组信息搜索状态空间,并实时记录已完成搜索的分组信息,从而避免搜索冗余状态.实验结果表明,本文提出的方案对于缓解状态爆炸问题有很好的效果,制导分组前后,测试程序的状态集平均减少了67%,有效提高了并行程序验证效率.
In the era of parallel, model checking { also commonly referred as state-space search ) is an effective way to verify the cor- rectness of parallel programs. Because of the non-determinism of the threads scheduling, changing the order of the interleaving among the threads execution lead to the states increases exponentially. The state explosion problem is to be solved urgently when using the state-space searching method search program. To alleviate this phenomenon, this paper propose a group-based model checking method. Adding the directive-based language in the verified program, and let the thread grouping with different variable operation. During the verification process, real-time monitor whether the group is completed, and search the state space with the completed group information to avoid redundant states. The experimental results show that our scheme have a good effect to alleviate the state explosion problem,af- ter the directive grouping, the state set of testing program reduced on average by 67%, and improved the efficiency of the parallel pro- gram verification.
出处
《小型微型计算机系统》
CSCD
北大核心
2016年第9期1898-1903,共6页
Journal of Chinese Computer Systems
基金
国家自然科学基金项目(60970023)资助
国家"九七三"重点基础研究发展计划项目(2011CB302501)资助
国家"八六三"高技术研究发展计划项目(2012AA010902
2012AA010901)资助
国家科技重大专项项目(2009ZX01036-001-002
2011ZX01028-001-002-3)资助
关键词
制导语言
源到源编译
模型检测
分组
directive-based language
source to source compiler
model checking
grouping