{"title":"面向新手程序员的代码复杂度分析器和可视化器","authors":"Siripond Mullanu, Sunwit Petchoo, C. Chua","doi":"10.1109/CSDE50874.2020.9411562","DOIUrl":null,"url":null,"abstract":"Code complexity can have a significant influence on software quality. With studies showing program developed by novice programmers can influence software complexity due to lack of experience, practice, and understanding of the concept of programming. This paper investigates the utilisation of machine learning techniques to analyse code complexity levels. Using a public collection of JavaScript codes, we developed a machine learning model to identify the relationship between code characteristics and complexity level. We selected six methods and performed k-fold cross-validation. It was observed that Classification and Regression Trees (CART) and K-Nearest Neighbours (KNN) yielded the best prediction results. Finally, we also implemented a visualisation tool to present the code analysis results providing a means to gain insights on JavaScript codes through their characteristics and complexity level.","PeriodicalId":445708,"journal":{"name":"2020 IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-12-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Code Complexity Analyser and Visualiser for Novice Programmer\",\"authors\":\"Siripond Mullanu, Sunwit Petchoo, C. Chua\",\"doi\":\"10.1109/CSDE50874.2020.9411562\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Code complexity can have a significant influence on software quality. With studies showing program developed by novice programmers can influence software complexity due to lack of experience, practice, and understanding of the concept of programming. This paper investigates the utilisation of machine learning techniques to analyse code complexity levels. Using a public collection of JavaScript codes, we developed a machine learning model to identify the relationship between code characteristics and complexity level. We selected six methods and performed k-fold cross-validation. It was observed that Classification and Regression Trees (CART) and K-Nearest Neighbours (KNN) yielded the best prediction results. Finally, we also implemented a visualisation tool to present the code analysis results providing a means to gain insights on JavaScript codes through their characteristics and complexity level.\",\"PeriodicalId\":445708,\"journal\":{\"name\":\"2020 IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE)\",\"volume\":\"38 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-12-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSDE50874.2020.9411562\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSDE50874.2020.9411562","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Code Complexity Analyser and Visualiser for Novice Programmer
Code complexity can have a significant influence on software quality. With studies showing program developed by novice programmers can influence software complexity due to lack of experience, practice, and understanding of the concept of programming. This paper investigates the utilisation of machine learning techniques to analyse code complexity levels. Using a public collection of JavaScript codes, we developed a machine learning model to identify the relationship between code characteristics and complexity level. We selected six methods and performed k-fold cross-validation. It was observed that Classification and Regression Trees (CART) and K-Nearest Neighbours (KNN) yielded the best prediction results. Finally, we also implemented a visualisation tool to present the code analysis results providing a means to gain insights on JavaScript codes through their characteristics and complexity level.