电子学报 ›› 2020, Vol. 48 ›› Issue (11): 2267-2277.DOI: 10.3969/j.issn.0372-2112.2020.11.025

• 综述评论 • 上一篇    下一篇

并发程序变异测试研究综述

田甜1, 巩敦卫2   

  1. 1. 山东建筑大学计算机科学与技术学院, 山东济南 250101;
    2. 中国矿业大学信息与控制工程学院, 江苏徐州 221116
  • 收稿日期:2019-10-29 修回日期:2020-01-27 出版日期:2020-11-25 发布日期:2020-11-25
  • 通讯作者: 巩敦卫
  • 作者简介:田甜 女,1987年1月出生于山东德州,山东建筑大学副教授,主要研究方向为程序分析与测试.E-mail:tian_tiantian@126.com
  • 基金资助:
    国家自然科学基金(No.61773384,No.61503220);国家重点研发计划(No.2018YFB1003800-02-01)

Survey on Mutation Testing of Concurrent Programs

TIAN Tian1, GONG Dun-wei2   

  1. 1. School of Computer Science and Technology, Shandong Jianzhu University, Jinan, Shandong 250101, China;
    2. School of Information and Control Engineering, China University of Mining and Technology, Xuzhou, Jiangsu 221116, China
  • Received:2019-10-29 Revised:2020-01-27 Online:2020-11-25 Published:2020-11-25

摘要: 变异测试是一种面向缺陷的软件测试方法,利用人为注入的缺陷引导测试数据生成,评价测试数据的有效性,在软件工程领域得到了广泛关注.依托多核架构,开发可靠的并发程序越来越迫切.近年来,很多学者尝试将变异测试技术应用于并发程序,以提高并发程序测试的效率和可靠性.首先,介绍了本文工作与已有综述的不同;然后,阐述了与并发程序和变异测试技术相关的知识;接着,从变异实施、变异测试准则、测试数据生成等3方面,综述并发程序变异测试的研究进展,包括:变异算子设计、选择变异、高阶变异、弱变异、测试数据生成方法、变异测试工具等;最后,讨论需要进一步研究的问题.

关键词: 并发程序, 变异测试, 变异算子, 优化, 测试数据生成

Abstract: Mutation testing is a fault-oriented software testing method,which adopts manually injected defects for guiding the generation of test data and evaluating their adequacy.Researchers in the community of software engineering have paid much attention to mutation testing.The prevalence of multi-core architecture makes an ever increasing need for developing reliable concurrent programs.Many scholars have attempted to employ mutation testing to concurrent programs,with the purpose of improving the reliability and efficiency of testing these programs in recent years.Firstly,the difference between this study and previous reviews is displayed.Then,following the background related to concurrent programs and mutation testing,this study surveys the progress on mutation testing of concurrent programs from the following three aspects,mutation implementation,mutation testing adequacy criteria,and test data generation.Specifically,it surveys techniques related to optimizing mutation testing from such aspects as designing mutation operators,selective mutation,high-order mutation,weak mutation,methods of test data generation,and prototype tools.Finally,this study discusses some topics to be further researched.

Key words: concurrent program, mutation testing, mutation operator, optimization, test data generation

中图分类号: