并发程序:
并发程序是指包含多个并发执行流程的程序. 这
些执行流程可以同时执行,并在执行过程中相互通信.
变异测试:
变异测试是一种面向缺陷的软件测试方法,变异测试
通过对被测程序注入特定类型的缺陷,评估测试数据的缺陷检测能力。
变异算子:
对被测程序进行微小改动时,依据的修改规则叫做变异算子。
第1节介绍了一些基本概念及本文研究与已有研究的不同
第2节阐述了与并发程序和变异测试技术相关的知识
第3节从变异实施、变异测试准则、测试数据生成等 3 方面,综述并发程序变异测试的研究进展
第4节讨论需要进一步研究的问题
一、引言
Jia 等 ------ 从计算开销约减、等价变异体检测、变异测试应用、实验评价,以及变异测试工具等方面,综述了变异测试的研究成果。
陈翔等 ------ 从原理分析、测试数据生成,以及回归测试等角度,对Jia等的工作进行了补充。
Offutt ------ 回顾了变异测试的发展历程,阐述了当时的研究状况,预期了未来的研究动向,从变异算子的理论研究、变异测试与软件开发过程的集成等方面,提出未来可能的研究切入点。
Madeyski 等 ------ 综述了解决等价变异体问题的研究成果。
Souza 等和 Silva 等 ------ 系统回顾了基于变异的测试数据技术和搜索方法在变异测试的应用。
Belli 等 ------ 综述了基于模型的变异测试进展,即变异测试在有向图、事件序列图,以及有限状态机和状态图的应用。
Nguyen 等 ------ 分析了变异测试在变异体数量、揭露真实缺陷,以及等价变异体等 3 个方面的局限性,讨论了高阶变异解决这些问题的优势和存在的问题。
苏等 ------ 讨论并发缺陷之间的关系,从缺陷暴露、检测和规避等方面,对已有工作进行了综述。
Bianchi 等 ------ 回顾了已有并发测试技术,并进行分类和对比,分析每种方法的优缺点。
Melo 等 ------ 从实证研究的角度,对并发程序测试的相关工作进行了总结和分类。
Pizzoleto 等 ------ 综述了降低变异测试代价的技术和标准。
Kintis 等 ------ 对比了 3 个 Java 变异测试工具MUJAVA、PIT和 MAJOR 的缺陷检测能力,使用的变异算子主要针对算