{"title":"在介绍性程序中检测bug的静态分析框架","authors":"Wenchu Xu, Yanran Ma","doi":"10.1109/ISSREW53611.2021.00078","DOIUrl":null,"url":null,"abstract":"Introductory programming courses are crucial to students who begin to learn programming languages. However, current introductory program judgment systems only give a pass or fail by the percentage of passed test cases. This limitation hinders the learning progress because students may unaware of potential bugs hidden in their programs. Detecting and reporting these bugs can help them avoid introducing the same kinds of bugs in other programs. However, state-of-the-art bug detection methods focus on precision and scalability, but are usually costly to develop detection methods for various kinds of bugs. To simplify the development of bug detection while keeping a reasonable precision, this paper presents a static detection framework to detect software bugs. Then, we apply the method to introductory programs and successfully detect all bugs with a false positive rate of 28.57 %.","PeriodicalId":385392,"journal":{"name":"2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Static Analysis Framework for Detecting Bugs in Introductory Programs\",\"authors\":\"Wenchu Xu, Yanran Ma\",\"doi\":\"10.1109/ISSREW53611.2021.00078\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Introductory programming courses are crucial to students who begin to learn programming languages. However, current introductory program judgment systems only give a pass or fail by the percentage of passed test cases. This limitation hinders the learning progress because students may unaware of potential bugs hidden in their programs. Detecting and reporting these bugs can help them avoid introducing the same kinds of bugs in other programs. However, state-of-the-art bug detection methods focus on precision and scalability, but are usually costly to develop detection methods for various kinds of bugs. To simplify the development of bug detection while keeping a reasonable precision, this paper presents a static detection framework to detect software bugs. Then, we apply the method to introductory programs and successfully detect all bugs with a false positive rate of 28.57 %.\",\"PeriodicalId\":385392,\"journal\":{\"name\":\"2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"volume\":\"17 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISSREW53611.2021.00078\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSREW53611.2021.00078","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Static Analysis Framework for Detecting Bugs in Introductory Programs
Introductory programming courses are crucial to students who begin to learn programming languages. However, current introductory program judgment systems only give a pass or fail by the percentage of passed test cases. This limitation hinders the learning progress because students may unaware of potential bugs hidden in their programs. Detecting and reporting these bugs can help them avoid introducing the same kinds of bugs in other programs. However, state-of-the-art bug detection methods focus on precision and scalability, but are usually costly to develop detection methods for various kinds of bugs. To simplify the development of bug detection while keeping a reasonable precision, this paper presents a static detection framework to detect software bugs. Then, we apply the method to introductory programs and successfully detect all bugs with a false positive rate of 28.57 %.