摘要
原子性错误的检测对于多线程程序并发错误的分析有着重要意义,其检测难点在于从违反原子性的情况中识别出会导致程序出错的执行序列。为了解决这个问题,采用测试训练提取原子性迁移对集合以及模型检测方法,提出原子性错误自动检测算法MC-AVIO。基于MC-AVIO实现原子性错误检测工具AtomFinder,通过对多组开源软件的测试,证明MC-AVIO对原子性错误的检测是有效的。
Detection of atomicity bug is valuable for analysing the concurrent errors of multi-thread programs development.The main difficulty of the detection lies on how to recognise the execution sequence leading to program error from the cases of atomicity violations.To address this problem,we adopt a method of extracting atomic transition pairs by training test and a method of model detection,and present a new method named MC-AVIO which is an automatic atomicity bug detection method.Moreover,we implement a detecting tool AtomFinder for atomicity bug based on MC-AVIO.After testing several groups of open source software,it is proved that MC-AVIO is efficient in detecting atomicity bugs.
出处
《计算机应用与软件》
CSCD
北大核心
2012年第11期92-94,100,共4页
Computer Applications and Software
基金
国家"核高基"重大科技专项(2010ZX01036-001-002-2)
中国科学院知识创新工程重要方向性项目(KGCX2-YW-12)
关键词
多线程程序
原子性错误
线程序列的不确定
模型检测
Multi-thread program Atomicity bug Non-deterministic of thread sequence Model checking