CWMT:一种基于并发机制的弱变异测试加速技术  被引量:1

CWMT:A Concurrency Based Acceleration Technique for Weak Mutation Testing

在线阅读下载全文

作  者:孙昌爱[1] 曾国峰 张守峰 唐锦 李宁[2] 张世永 陈艳[2] SUN Chang-Ai;ZENG Guo-Feng;ZHANG Shou-Feng;TANG Jin;LI Ning;ZHANG Shi-Yong;CHEN Yan(School of Computer and Communication Engineering,University of Science and Technology Beijing,Beijing 100083;North China Institute of Computing Technology,Beijing 100083)

机构地区:[1]北京科技大学计算机与通信工程学院,北京100083 [2]华北计算技术研究所,北京100083

出  处:《计算机学报》2023年第7期1409-1426,共18页Chinese Journal of Computers

基  金:国家自然科学基金(61872039,62272037);航空科学基金(2016ZD74004);中央高校基本科研业务费专项资金资助项目(FRF-GF-19-19B);中国电子科技集团第十五研究所创新基金项目(19010203)资助。

摘  要:变异测试是一种基于故障的软件测试技术,广泛用来评估测试用例集的充分性与软件测试技术的有效性.尽管变异测试具有较强的故障检测能力,但由于变异体数量多与变异执行时间长导致了高昂的计算开销,限制了其在测试实践中的应用.已有研究从两个维度研究如何降低变异测试的计算开销:(1)变异体精简.通过不同策略减少变异体的数量,往往减弱变异测试的故障检测能力;(2)变异执行加速.通过优化变异测试的执行过程,缩短变异执行的时间.通过分析变异测试过程的特点,不难发现多个变异体之间存在大量重复执行的代码.本文从缩短变异测试执行时间的角度出发,提出了并发弱变异测试,通过并发控制和程序合成相结合的手段优化变异体的执行过程,减少变异体的执行开销.具体说来,并发弱变异测试融合了并发与弱变异两种变异执行的加速机制:并发机制通过共享某个程序块的不同变异体在变异位置之前的程序状态来缩短变异位置前的执行时间;弱变异机制通过比较源程序与变异体在变异位置之后的程序状态确定测试是否通过来缩短变异位置后的执行时间.采用12个C程序以经验研究的方式评估了所提方法的有效性和优化效率,分析了影响优化效率的因素,并比较了所提方法与传统变异测试、弱变异测试、并发变异测试等3种基线技术的性能.实验结果表明,本文提出的并发弱变异测试技术显著提升了变异测试的效率,即减少90%以上的编译时间和70%以上的执行时间.Mutation testing is a fault-based software testing technique,which is widely used to evaluate the adequacy of a given test suite or the fault detection effectiveness of a given software testing technique.Although mutation testing has a strong fault detection capability,the high computation cost incurred by a huge number of mutants and a long testing period prevents mutation testing from being widely adopted in practice.Existing research work on reducing the cost of mutation testing is mainly divided into two categories:(1)mutant reduction,which reduces the number of mutants through various strategies,and thus affects the fault detection capability of mutation testing;(2)acceleration of mutation execution,which shortens the time of mutation execution through optimizing the process of mutation testing.It can be observed that the bulk of codes in multiple mutants are repeatedly executed through an analysis of the mutation testing process.In this paper,we explore the improvement of mutation testing in terms of reducing its execution time and accordingly propose a concurrent weak mutation testing approach,which provides an optimal mechanism to removal of redundant executions by using the combination of concurrent controls and program synthesis techniques,aiming at shortening the execution time of mutation testing.The proposed approach incorporates two mechanisms for accelerating mutation execution,namely the concurrent mechanism which reduces the execution time before the mutation point by sharing the program states of a set of mutants whose mutation points belong to the same program block,and the weak mutation mechanism which reduces the execution time after the mutation point by immediately comparing the program states of a mutant and the original program to decide whether a test passes or not.An empirical study has been conducted in which 12 C programs are used as subject program were used to evaluate the effectiveness and efficiency of the proposed approach and analyze the impact factors of performance optimizatio

关 键 词:软件测试 变异测试 弱变异测试 变异优化 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象