Search-Based Software Test Data Generation for Path Coverage Based on a Feedback-Directed Mechanism

Stuart Dereck Semujju;Han Huang;Fangqing Liu;Yi Xiang;Zhifeng Hao
{"title":"Search-Based Software Test Data Generation for Path Coverage Based on a Feedback-Directed Mechanism","authors":"Stuart Dereck Semujju;Han Huang;Fangqing Liu;Yi Xiang;Zhifeng Hao","doi":"10.23919/CSMS.2022.0027","DOIUrl":null,"url":null,"abstract":"Automatically generating test cases by evolutionary algorithms to satisfy the path coverage criterion has attracted much research attention in software testing. In the context of generating test cases to cover many target paths, the efficiency of existing methods needs to be further improved when infeasible or difficult paths exist in the program under test. This is because a significant amount of the search budget (i.e., time allocated for the search to run) is consumed when computing fitness evaluations of individuals on infeasible or difficult paths. In this work, we present a feedback-directed mechanism that temporarily removes groups of paths from the target paths when no improvement is observed for these paths in subsequent generations. To fulfill this task, our strategy first organizes paths into groups. Then, in each generation, the objective scores of each individual for all paths in each group are summed up. For each group, the lowest value of the summed up objective scores among all individuals is assigned as the best aggregated score for a group. A group is removed when no improvement is observed in its best aggregated score over the last two generations. The experimental results show that the proposed approach can significantly improve path coverage rates for programs under test with infeasible or difficult paths in case of a limited search budget. In particular, the feedback-directed mechanism reduces wasting the search budget on infeasible paths or on difficult target paths that require many fitness evaluations before getting an improvement.","PeriodicalId":65786,"journal":{"name":"复杂系统建模与仿真(英文)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://ieeexplore.ieee.org/iel7/9420428/10065394/10065399.pdf","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"复杂系统建模与仿真(英文)","FirstCategoryId":"1089","ListUrlMain":"https://ieeexplore.ieee.org/document/10065399/","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Automatically generating test cases by evolutionary algorithms to satisfy the path coverage criterion has attracted much research attention in software testing. In the context of generating test cases to cover many target paths, the efficiency of existing methods needs to be further improved when infeasible or difficult paths exist in the program under test. This is because a significant amount of the search budget (i.e., time allocated for the search to run) is consumed when computing fitness evaluations of individuals on infeasible or difficult paths. In this work, we present a feedback-directed mechanism that temporarily removes groups of paths from the target paths when no improvement is observed for these paths in subsequent generations. To fulfill this task, our strategy first organizes paths into groups. Then, in each generation, the objective scores of each individual for all paths in each group are summed up. For each group, the lowest value of the summed up objective scores among all individuals is assigned as the best aggregated score for a group. A group is removed when no improvement is observed in its best aggregated score over the last two generations. The experimental results show that the proposed approach can significantly improve path coverage rates for programs under test with infeasible or difficult paths in case of a limited search budget. In particular, the feedback-directed mechanism reduces wasting the search budget on infeasible paths or on difficult target paths that require many fitness evaluations before getting an improvement.
基于反馈导向机制的路径覆盖搜索软件测试数据生成
利用进化算法自动生成满足路径覆盖准则的测试用例已成为软件测试领域的研究热点。在生成测试用例以覆盖许多目标路径的情况下,当被测程序中存在不可行或困难的路径时,需要进一步提高现有方法的效率。这是因为在计算不可行或困难路径上的个体适应度评估时,会消耗大量的搜索预算(即分配给搜索运行的时间)。在这项工作中,我们提出了一种反馈导向的机制,当这些路径在后续几代中没有得到改善时,可以暂时从目标路径中删除路径组。为了完成这个任务,我们的策略首先将路径组织成组。然后,在每一代中,将每个个体在每组所有路径上的客观得分相加。对于每一组,将所有个体客观得分之和的最低值作为该组的最佳综合得分。如果在过去两代中没有观察到其最佳总得分的改善,则删除该组。实验结果表明,在搜索预算有限的情况下,该方法可以显著提高路径不可行或路径困难的被测程序的路径覆盖率。特别是,反馈导向机制减少了搜索预算在不可行路径上的浪费,或者在获得改进之前需要进行多次适应度评估的困难目标路径上。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
CiteScore
7.80
自引率
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学术官方微信