引用本文:孙昌爱,耿宁,代贺鹏,顾友达.CMuJava: 一个面向Java程序并发变异体生成系统.软件学报,2022,33(2):397-409
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 2159次   下载 5925 本文二维码信息
码上扫一扫!
分享到: 微信 更多
CMuJava: 一个面向Java程序并发变异体生成系统
孙昌爱1,2, 耿宁1, 代贺鹏1, 顾友达1
1.北京科技大学 计算机与通信工程学院, 北京 100083;2.计算机科学国家重点实验室(中国科学院 软件研究所), 北京 100190
摘要:
并发程序由多个共享存储空间并发执行的流程组成. 由于流程之间执行次序的不确定性, 使得并发软件系统的测试比较困难. 变异测试是一种基于故障的软件测试技术, 广泛用于评估测试用例集的充分性和测试技术的有效性. 将变异测试应用于并发程序的一个关键问题是, 如何高效地生成大量的模拟并发故障的变异体集合. 给出了一种并发程序的变异测试框架, 研制了一个并发变异体自动生成工具CMuJava. 采用经验研究的方式评估了CMuJava生成的变异体集合的正确性与充分性, 并且评估了变异体生成的效率.实验结果表明: CMuJava能够准确、充分地生成并发变异体集合, 极大地提高了手工变异体生成的效率.
关键词:  并发程序  变异测试  并发变异算子  并发变异体  测试工具
DOI:10.13328/j.cnki.jos.006137
分类号:TP311
基金项目:国家自然科学基金(61872039); 中国科学院软件研究所计算机科学国家重点实验室开放课题(SYSKF1803); 中央高校基本科研业务费专项资金(FRF-GF-19-019B)
CMuJava: Concurrent Mutant Generation System for Java
SUN Chang-Ai1,2, GENG Ning1, DAI He-Peng1, GU You-Da1
1.School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China;2.State Key Laboratory of Computer Science (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China
Abstract:
Concurrent programs are composed of multiple concurrent execution flows, which usually share storage space in an explicit or implicit manner. Uncertainty in the execution order of flows poses challenges for concurrent program testing. Mutation testing is a fault-based testing technique that is widely adopted to evaluate the adequacy of test suites and the effectiveness of test techniques. A key issue to applying mutation testing to concurrent programs is how to efficiently derive a large number of mutants that simulate possible concurrency-specific faults. This study proposes a mutation testing framework for concurrent programs and presents an automated concurrent mutant generation system called CMuJava. An empirical study is conducted to evaluate the correctness and adequacy of mutant sets generated by CMuJava and the mutant generation efficiency of CMuJava. The experimental results show that CMuJava can not only generate correct and adequate mutants, but also significantly improve the efficiency of manual mutant generation.
Key words:  concurrent programs  mutation testing  concurrent mutation operators  concurrent mutants  testing tools

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: