计算机应用 ›› 2016, Vol. 36 ›› Issue (11): 3170-3177.DOI: 10.11772/j.issn.1001-9081.2016.11.3170
收稿日期:
2016-04-21
修回日期:
2016-06-02
出版日期:
2016-11-10
发布日期:
2016-11-12
通讯作者:
赵瑞莲
作者简介:
吴俞伯(1989-),男,海南儋州人,硕士研究生,主要研究方向:软件测试;郭俊霞(1977-),女,山西朔州人,讲师,博士,主要研究方向:网络信息定向抽取;李征(1974-),男,河北清苑人,教授,博士,CCF会员,主要研究方向:软件测试、模型切片;赵瑞莲(1964-),女,山西忻州人,教授,博士,CCF会员,主要研究方向:软件测试、软件可靠性分析。
基金资助:
WU Yubo, GUO Junxia, LI Zheng, ZHAO Ruilian
Received:
2016-04-21
Revised:
2016-06-02
Online:
2016-11-10
Published:
2016-11-12
Supported by:
摘要: 针对并发程序变异测试中并发变异算子触发数据竞争故障能力较低的问题,提出了基于数据竞争故障的变异策略。从并发变异算子设计的角度给出了面向锁对象的变异策略(LMS)和面向共享变量的变异策略(SMS),设计了重置同步锁(SLRO)和移出共享变量操作(MSVO)两个并发变异算子。从变异点选取的角度给出了一种同步关系对变异点选取策略(SMPSS)。在12个Java类库并发程序上,应用SLRO和MSVO算子针对SMPSS选取出的变异点植入故障,生成变异体,并使用JPF检测工具,检测生成的变异体引发数据竞争故障的能力。实验结果表明,新设计的SLRO和MSVO变异算子对12个被测程序分别生成了121和122个有效变异体,变异算子的有效性分别为95.28%和99.19%。由此可知,新设计的并发变异算子能有效触发数据竞争故障。
中图分类号:
吴俞伯, 郭俊霞, 李征, 赵瑞莲. 基于并发程序数据竞争故障的变异策略[J]. 计算机应用, 2016, 36(11): 3170-3177.
WU Yubo, GUO Junxia, LI Zheng, ZHAO Ruilian. Mutation strategy based on concurrent program data racing fault[J]. Journal of Computer Applications, 2016, 36(11): 3170-3177.
[1] JIA Y, HARMAN M. An analysis and survey of the development of mutation testing[J]. IEEE Transactions on Software Engineering, 2011, 37(5):649-678. [2] SUN C A, XUE F F, LIU H, et al. A path-aware approach to mutant reduction in mutation testing[J]. Information and Software Technology, 2016(3):1-17. [3] BRADBURY J S, CORDY J R, DINGEL J. Mutation operators for concurrent Java (J2SE 5.0)[C]//Proceedings of the 2nd Workshop on Mutation Analysis. Piscataway, NJ:IEEE, 2006:11. [4] WU L, KAISER G. Empirical study of concurrency mutation operators for Java[EB/OL].[2016-04-21]. http://academiccommons.columbia.edu/item/ac:133611. [5] GLIGORIC M, ZHANG L, PEREIRA C, et al. Selective mutation testing for concurrent code[C]//Proceedings of the 2013 International Symposium on Software Testing and Analysis. New York:ACM, 2013:224-234. [6] NG N, YOSHIDA N. Static deadlock detection for concurrent go by global session graph synthesis[C]//Proceedings of the 25th International Conference on Compiler Construction. New York:ACM, 2016:174-184. [7] ZENG R, SUN Z, LIU S, et al. A method for improving the precision and coverage of atomicity violation predictions[C]//Proceedings of the 21st International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Berlin:Springer, 2015:116-130. [8] KAHLON V, SANKARANARAYANAN S, GUPTA A. Static analysis for concurrent programs with applications to data race detection[J]. International Journal on Software Tools for Technology Transfer, 2013, 15(4):321-336. [9] DI P, SUI Y. Accelerating dynamic data race detection using static thread interference analysis[C]//Proceedings of the 7th International Workshop on Programming Models and Applications for Multicores and Manycores. New York:ACM, 2016:88-99. [10] OTTO F, MOSCHNY T. Finding synchronization defects in Java programs:extended static analyses and code patterns[C]//Proceedings of the 1st International Workshop on Multicore Software Engineering. New York:ACM, 2008:41-46. [11] SCHULER D, ZELLER A. Javalanche:efficient mutation testing for Java[C]//Proceedings of the 7th Joint Meeting of the European software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. New York:ACM, 2009:297-298. [12] MEHLITZ P, RUNGTA N, VISSER W. A hands-on Java Pathfinder tutorial[C]//Proceedings of the 201335th International Conference on Software Engineering. Piscataway, NJ:IEEE, 2013:1493-1495. [13] GLIGORIC M, JAGANNATH V, MARINOV D. MuTMuT:Efficient exploration for mutation testing of multithreaded code[C]//Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation. Piscataway, NJ:IEEE, 2010:55-64. [14] JAGANNATH V, GLIGORIC M, JIN D, et al. Improved multi-threaded unit testing[C]//Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering. New York:ACM, 2011:223-233. |
[1] | 赵津, 宋文爱, 邰隽, 杨吉江, 王青, 李晓丹, 雷毅, 邱悦. 儿童阻塞性睡眠呼吸暂停计算机人脸辅助诊断综述[J]. 《计算机应用》唯一官方网站, 2021, 41(11): 3394-3401. |
[2] | 祁祥洲 邢红杰. 基于中心核对齐的多核单类支持向量机[J]. 计算机应用, 0, (): 0-0. |
[3] | 陈浩杰,范江亭,刘勇. 分布式强化学习解决动态旅行商问题[J]. 计算机应用, 0, (): 0-0. |
[4] | 郭一阳 于炯 杜旭升 杨少智 曹铭. 基于自编码器与集成学习的离群点检测算法[J]. 计算机应用, 0, (): 0-0. |
[5] | 李卓, 宋子晖, 沈鑫, 陈昕. 边缘计算支持下的移动群智感知本地差分隐私保护机制[J]. 计算机应用, 2021, 41(9): 2678-2686. |
[6] | 王周恺, 张炯, 马维纲, 王怀军. 面向高速列车监测数据的并行解压缩算法[J]. 计算机应用, 2021, 41(9): 2586-2593. |
[7] | 张妮 韩萌 王乐 李小娟 程浩东. 基于正负效用划分的高效用模式挖掘方法综述[J]. 计算机应用, 0, (): 0-0. |
[8] | 武鹏, 吴尽昭. 基于线性误差断言的推理方法[J]. 计算机应用, 2021, 41(8): 2199-2204. |
[9] | 孙蕊, 韩萌, 张春砚, 申明尧, 杜诗语. 含负项top-k高效用项集挖掘算法[J]. 计算机应用, 2021, 41(8): 2386-2395. |
[10] | 王梓森, 梁英, 刘政君, 谢小杰, 张伟, 史红周. 科研项目同行评议专家学术专长匹配方法[J]. 计算机应用, 2021, 41(8): 2418-2426. |
[11] | 赵全, 汤小春, 朱紫钰, 毛安琪, 李战怀. 大规模短时间任务的低延迟集群调度框架[J]. 计算机应用, 2021, 41(8): 2396-2405. |
[12] | 康军, 黄山, 段宗涛, 李宜修. 时空轨迹序列模式挖掘方法综述[J]. 计算机应用, 2021, 41(8): 2379-2385. |
[13] | 陈静, 毛莺池, 陈豪, 王龙宝, 王子成. 基于改进单点多盒检测器的大坝缺陷目标检测方法[J]. 计算机应用, 2021, 41(8): 2366-2372. |
[14] | 马华, 陈跃鹏, 唐文胜, 娄小平, 黄卓轩. 面向工作者能力评估的众包任务分配方法的研究进展综述[J]. 计算机应用, 2021, 41(8): 2232-2241. |
[15] | 李莉 吴怡 杨祉坤 陈云鹏. 基于分区型区块链医疗电子病历共享方案[J]. , 0, (): 0-0. |
阅读次数 | ||||||
全文 |
|
|||||
摘要 |
|
|||||