摘要
针对并发程序中由消息竞争所引发的不确定性故障难以捕获与再现、定位结果不精确等问题,提出一种结合程序频域比对、Delta调试策略的故障定位方法.该方法首先建立并发程序执行模型,定义同步序列描述程序执行路径的不确定性,并将其抽象成简洁的消息竞争序列;而后收集、比对正确的测试执行与错误的测试执行中消息竞争序列间的差异,约简故障搜索空间,获得初始故障集合;最后,为初始故障集合中所对应的每一个失效执行,采用Delta调试策略设计并运行一组附加测试,从而逐步精准地锁定故障根源.初步实验结果表明,该方法能够有效检测消息竞争故障,提高故障定位效率.
A fault localization method,which combines the program spectrum with the Delta debugging strategy,is proposed to solve the problem on the non-deterministic failure caused by the message race which is difficult to capture,reproduce,and accurately locate.This method first builds a concurrent program execution model,defines the non-deterministic execution path with the synchronous sequence,and turns it into a concise message race sequence.Secondly,it collects and compares the difference of the message race sequence between the correct test execution and the error execution,reduces the fault search space,and obtains the initial fault set.In the end,for every failure in the initial fault set,the Delta debug strategy is used to design and run a set of additional tests to locate the root of the fault gradually.Preliminary experimental results show the effectiveness and feasibility of our method in locating non-deterministic failures for message passing programs.
作者
曾奕
Zeng Yi(School of Computer Science and Technology,Nanjing Normal University,Nanjing 210023,China)
出处
《南京师范大学学报(工程技术版)》
CAS
2018年第4期44-51,共8页
Journal of Nanjing Normal University(Engineering and Technology Edition)
关键词
并发
不确定性
错误定位
消息竞争
concurrent
non-deterministic
fault localization
message race