一种新的基于图神经网络的新手程序自动故障定位技术

Bin Du, Zhanwen Zhang, Hengyuan Liu, Shumei Wu, Luxi Fan, Zexing Chang
{"title":"一种新的基于图神经网络的新手程序自动故障定位技术","authors":"Bin Du, Zhanwen Zhang, Hengyuan Liu, Shumei Wu, Luxi Fan, Zexing Chang","doi":"10.1109/ISCTIS58954.2023.10213100","DOIUrl":null,"url":null,"abstract":"In recently years, Massive Open Online Courses have garnered significant attention, becoming a fundamental learning method for programming. However, debugging poses a challenge for novice programmers lacking programming experience due to its considerable effort, time cost, and professional experience. This has spurred interest in automatically localizing faults for novice programs. Regrettably, traditional fault localization techniques are often insufficient due to the inherent attributes of novice programs, such as concise code, straightforward logic, and limited passed tests. In this paper, we propose a novel fault localization technique, GccvFL, utilizing graph representation learning. Specifically, we first collect variable value sequences in novice programs and merge the dynamic and static features of the code. Then we reserve this detailed information of the faulty program into one graph. A gated graph neural network (GGNN) is used to learn useful features from the graph and output the rank list according to their suspiciousness. Ultimately, GccvFL enhances fault localization by integrating these features within the model. Our evaluation of 89 novice programs from the Beijing University of Chemical Technology Online Judge (BUCTOJ) dataset shows GccvFL significantly outperforms existing fault localization techniques on all the observed metrics. GccvFL localizes eight fault statements more than state-of-the-art techniques in TOP-1, showing that GccvFL's superior fault localization performance in novice programs.","PeriodicalId":334790,"journal":{"name":"2023 3rd International Symposium on Computer Technology and Information Science (ISCTIS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Novel Graph Neural Network-Based Automated Fault Localization Technique for Novice Programs\",\"authors\":\"Bin Du, Zhanwen Zhang, Hengyuan Liu, Shumei Wu, Luxi Fan, Zexing Chang\",\"doi\":\"10.1109/ISCTIS58954.2023.10213100\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In recently years, Massive Open Online Courses have garnered significant attention, becoming a fundamental learning method for programming. However, debugging poses a challenge for novice programmers lacking programming experience due to its considerable effort, time cost, and professional experience. This has spurred interest in automatically localizing faults for novice programs. Regrettably, traditional fault localization techniques are often insufficient due to the inherent attributes of novice programs, such as concise code, straightforward logic, and limited passed tests. In this paper, we propose a novel fault localization technique, GccvFL, utilizing graph representation learning. Specifically, we first collect variable value sequences in novice programs and merge the dynamic and static features of the code. Then we reserve this detailed information of the faulty program into one graph. A gated graph neural network (GGNN) is used to learn useful features from the graph and output the rank list according to their suspiciousness. Ultimately, GccvFL enhances fault localization by integrating these features within the model. Our evaluation of 89 novice programs from the Beijing University of Chemical Technology Online Judge (BUCTOJ) dataset shows GccvFL significantly outperforms existing fault localization techniques on all the observed metrics. GccvFL localizes eight fault statements more than state-of-the-art techniques in TOP-1, showing that GccvFL's superior fault localization performance in novice programs.\",\"PeriodicalId\":334790,\"journal\":{\"name\":\"2023 3rd International Symposium on Computer Technology and Information Science (ISCTIS)\",\"volume\":\"12 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-07-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 3rd International Symposium on Computer Technology and Information Science (ISCTIS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISCTIS58954.2023.10213100\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 3rd International Symposium on Computer Technology and Information Science (ISCTIS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISCTIS58954.2023.10213100","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

近年来,大规模在线开放课程引起了人们的极大关注,成为编程的一种基本学习方法。然而,调试对于缺乏编程经验的新手程序员来说是一个挑战,因为它需要花费大量的精力、时间和专业经验。这激发了人们对为新手程序自动定位错误的兴趣。令人遗憾的是,由于新手程序的固有属性,如代码简洁、逻辑直接、通过的测试有限,传统的故障定位技术往往是不够的。本文提出了一种基于图表示学习的故障定位技术GccvFL。具体来说,我们首先收集新手程序中的可变值序列,并合并代码的动态和静态特征。然后将故障程序的详细信息保留到一个图中。使用门控图神经网络(GGNN)从图中学习有用的特征,并根据它们的怀疑度输出秩表。最终,GccvFL通过在模型中集成这些特征来增强故障定位。我们对来自北京化工大学在线判断(BUCTOJ)数据集的89个新手程序的评估表明,GccvFL在所有观察到的指标上都明显优于现有的故障定位技术。GccvFL比TOP-1中最先进的技术多定位了8个故障语句,表明GccvFL在新手程序中具有优越的故障定位性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
A Novel Graph Neural Network-Based Automated Fault Localization Technique for Novice Programs
In recently years, Massive Open Online Courses have garnered significant attention, becoming a fundamental learning method for programming. However, debugging poses a challenge for novice programmers lacking programming experience due to its considerable effort, time cost, and professional experience. This has spurred interest in automatically localizing faults for novice programs. Regrettably, traditional fault localization techniques are often insufficient due to the inherent attributes of novice programs, such as concise code, straightforward logic, and limited passed tests. In this paper, we propose a novel fault localization technique, GccvFL, utilizing graph representation learning. Specifically, we first collect variable value sequences in novice programs and merge the dynamic and static features of the code. Then we reserve this detailed information of the faulty program into one graph. A gated graph neural network (GGNN) is used to learn useful features from the graph and output the rank list according to their suspiciousness. Ultimately, GccvFL enhances fault localization by integrating these features within the model. Our evaluation of 89 novice programs from the Beijing University of Chemical Technology Online Judge (BUCTOJ) dataset shows GccvFL significantly outperforms existing fault localization techniques on all the observed metrics. GccvFL localizes eight fault statements more than state-of-the-art techniques in TOP-1, showing that GccvFL's superior fault localization performance in novice programs.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信