Multi-objective optimization-based and fault localization-oriented test case generation for novice programs

IF 1.7 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Yong Liu, Zezhong Yang, Luxi Fan, Yonghao Wu, Xiang Chen, Xiaotang Zhou
{"title":"Multi-objective optimization-based and fault localization-oriented test case generation for novice programs","authors":"Yong Liu,&nbsp;Zezhong Yang,&nbsp;Luxi Fan,&nbsp;Yonghao Wu,&nbsp;Xiang Chen,&nbsp;Xiaotang Zhou","doi":"10.1002/smr.2679","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>Online judgment (OJ) systems are capable of evaluating program results by automatically executing test cases, significantly improving the efficiency of traditional guidance approaches. Moreover, existing studies attempt to assist novices through automated fault localization techniques to provide feedback to novices, which can help them quickly find the location of faulty statements. Among them, spectrum-based fault localization (SBFL) techniques have been widely used for their lightweight and efficiency, which only requires coverage information and test results of test cases to conduct fault localization. However, manually constructing high-quality test cases for a large number of OJ questions is tough work to complete. To solve this problem, we propose the novice program-oriented <b>M</b>ulti-Objective Optimization-Based <b>F</b>ault Localization-Oriented <b>T</b>est <b>C</b>ase <b>G</b>eneration (MFTCG) for automatically generating test inputs. Specifically, we use multi-objective optimization algorithms to evolve the test case in terms of both fault localization and faulty code detection capability. We conduct experiments with 8911 programs from the well-known public OJ platform AtCoder. The results show that our proposed approach MFTCG can achieve the best fault localization performance compared with existing automated test case generation approaches in most cases and can achieve the similar faulty code detection capability compared to manually designed test cases.</p>\n </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"36 10","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2024-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Software-Evolution and Process","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/smr.2679","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Online judgment (OJ) systems are capable of evaluating program results by automatically executing test cases, significantly improving the efficiency of traditional guidance approaches. Moreover, existing studies attempt to assist novices through automated fault localization techniques to provide feedback to novices, which can help them quickly find the location of faulty statements. Among them, spectrum-based fault localization (SBFL) techniques have been widely used for their lightweight and efficiency, which only requires coverage information and test results of test cases to conduct fault localization. However, manually constructing high-quality test cases for a large number of OJ questions is tough work to complete. To solve this problem, we propose the novice program-oriented Multi-Objective Optimization-Based Fault Localization-Oriented Test Case Generation (MFTCG) for automatically generating test inputs. Specifically, we use multi-objective optimization algorithms to evolve the test case in terms of both fault localization and faulty code detection capability. We conduct experiments with 8911 programs from the well-known public OJ platform AtCoder. The results show that our proposed approach MFTCG can achieve the best fault localization performance compared with existing automated test case generation approaches in most cases and can achieve the similar faulty code detection capability compared to manually designed test cases.

为新手程序生成基于多目标优化和面向故障定位的测试用例
摘要在线判断(OJ)系统能够通过自动执行测试用例来评估程序结果,大大提高了传统指导方法的效率。此外,现有研究还尝试通过自动故障定位技术为新手提供反馈,帮助他们快速找到错误语句的位置。其中,基于频谱的故障定位(SBFL)技术因其轻便高效而被广泛应用,该技术只需测试用例的覆盖信息和测试结果即可进行故障定位。然而,针对大量 OJ 问题手动构建高质量的测试用例是一项难以完成的工作。为了解决这个问题,我们提出了面向新手程序的基于多目标优化的故障定位测试用例生成(MFTCG),用于自动生成测试输入。具体地说,我们使用多目标优化算法,从故障定位和故障代码检测能力两方面对测试用例进行演化。我们使用著名的公共 OJ 平台 AtCoder 中的 8911 个程序进行了实验。结果表明,与现有的自动生成测试用例方法相比,我们提出的方法 MFTCG 在大多数情况下都能实现最佳的故障定位性能,并且与人工设计的测试用例相比,也能实现类似的故障代码检测能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Software-Evolution and Process
Journal of Software-Evolution and Process COMPUTER SCIENCE, SOFTWARE ENGINEERING-
自引率
10.00%
发文量
109
×
引用
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学术官方微信