面向控制的突变测试,用于检测潜在的软件缺陷

Muhammad Bilal Bashir, A. Nadeem
{"title":"面向控制的突变测试,用于检测潜在的软件缺陷","authors":"Muhammad Bilal Bashir, A. Nadeem","doi":"10.1109/FIT.2012.15","DOIUrl":null,"url":null,"abstract":"An effective test case suite is one that has the potential to reveal real faults in the code. Mutation testing is a fault-based technique that helps measure the strength of test case set and to generate effective test cases. Faults are injected through pre-defined mutation operators and mutation score is a mean to calculate usefulness of test case set. Mutation testing approach suffers from two of its inherent issues, it is computationally expensive, second generation of equivalent mutants. Along with original program, every mutant has to be executed against all the test cases. An equivalent mutant always produces same output on original and mutant program for every possible test case. Program's behavior comprises of two kinds of information, control flow and data flow. Mutation testing techniques that have been proposed so far consider only data flow information and they ignore the importance of flow of control within the program. In this paper we propose a new approach that encourages using control flow information along with data flow information in mutation testing for detection of bugs. Bugs can hide themselves within equivalent mutants and in these scenarios control flow information can be quite useful to uncover them. Experiments show that using control flow information can help revealing potential bugs in the program.","PeriodicalId":166149,"journal":{"name":"2012 10th International Conference on Frontiers of Information Technology","volume":"53 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-12-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Control Oriented Mutation Testing for Detection of Potential Software Bugs\",\"authors\":\"Muhammad Bilal Bashir, A. Nadeem\",\"doi\":\"10.1109/FIT.2012.15\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"An effective test case suite is one that has the potential to reveal real faults in the code. Mutation testing is a fault-based technique that helps measure the strength of test case set and to generate effective test cases. Faults are injected through pre-defined mutation operators and mutation score is a mean to calculate usefulness of test case set. Mutation testing approach suffers from two of its inherent issues, it is computationally expensive, second generation of equivalent mutants. Along with original program, every mutant has to be executed against all the test cases. An equivalent mutant always produces same output on original and mutant program for every possible test case. Program's behavior comprises of two kinds of information, control flow and data flow. Mutation testing techniques that have been proposed so far consider only data flow information and they ignore the importance of flow of control within the program. In this paper we propose a new approach that encourages using control flow information along with data flow information in mutation testing for detection of bugs. Bugs can hide themselves within equivalent mutants and in these scenarios control flow information can be quite useful to uncover them. Experiments show that using control flow information can help revealing potential bugs in the program.\",\"PeriodicalId\":166149,\"journal\":{\"name\":\"2012 10th International Conference on Frontiers of Information Technology\",\"volume\":\"53 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-12-17\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2012 10th International Conference on Frontiers of Information Technology\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/FIT.2012.15\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 10th International Conference on Frontiers of Information Technology","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FIT.2012.15","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

一个有效的测试用例套件有可能揭示代码中真正的错误。突变测试是一种基于故障的技术,它有助于度量测试用例集的强度并生成有效的测试用例。通过预定义的突变算子注入故障,突变分数是计算测试用例集有用性的均值。突变检测方法有两个固有的问题,一是计算量大,二是等效突变体。除了原始程序外,每个突变体都必须针对所有测试用例执行。对于每个可能的测试用例,等效的突变体总是在原始和突变体程序上产生相同的输出。程序行为包括两种信息:控制流和数据流。迄今为止提出的突变测试技术只考虑数据流信息,而忽略了程序中控制流的重要性。在本文中,我们提出了一种新的方法,鼓励在突变测试中使用控制流信息和数据流信息来检测错误。bug可以隐藏在相同的突变体中,在这些情况下,控制流信息对于发现它们非常有用。实验表明,使用控制流信息可以帮助揭示程序中潜在的错误。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Control Oriented Mutation Testing for Detection of Potential Software Bugs
An effective test case suite is one that has the potential to reveal real faults in the code. Mutation testing is a fault-based technique that helps measure the strength of test case set and to generate effective test cases. Faults are injected through pre-defined mutation operators and mutation score is a mean to calculate usefulness of test case set. Mutation testing approach suffers from two of its inherent issues, it is computationally expensive, second generation of equivalent mutants. Along with original program, every mutant has to be executed against all the test cases. An equivalent mutant always produces same output on original and mutant program for every possible test case. Program's behavior comprises of two kinds of information, control flow and data flow. Mutation testing techniques that have been proposed so far consider only data flow information and they ignore the importance of flow of control within the program. In this paper we propose a new approach that encourages using control flow information along with data flow information in mutation testing for detection of bugs. Bugs can hide themselves within equivalent mutants and in these scenarios control flow information can be quite useful to uncover them. Experiments show that using control flow information can help revealing potential bugs in the program.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信