面向新手程序员的代码复杂度分析器和可视化器

Siripond Mullanu, Sunwit Petchoo, C. Chua
{"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}
引用次数: 1

摘要

代码复杂性会对软件质量产生重大影响。研究表明,由于缺乏经验、实践和对编程概念的理解,新手程序员开发的程序可能会影响软件的复杂性。本文研究了利用机器学习技术来分析代码复杂性水平。使用公开的JavaScript代码集合,我们开发了一个机器学习模型来识别代码特征和复杂性级别之间的关系。我们选择了6种方法并进行了k-fold交叉验证。结果表明,分类回归树(CART)和k近邻(KNN)的预测效果最好。最后,我们还实现了一个可视化工具来呈现代码分析结果,提供了一种通过JavaScript代码的特征和复杂程度来深入了解JavaScript代码的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信