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}
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.