A Feasibility Study of Using Code Clone Detection for Secure Programming Education

M. Menard, Tommy Nelson, Milan Shahi, Hugh Morton, Adam DeTavernier, Harvey P. Siy, Rui Zhao, Myoungkyu Song
{"title":"A Feasibility Study of Using Code Clone Detection for Secure Programming Education","authors":"M. Menard, Tommy Nelson, Milan Shahi, Hugh Morton, Adam DeTavernier, Harvey P. Siy, Rui Zhao, Myoungkyu Song","doi":"10.1109/COMPSAC54236.2022.00238","DOIUrl":null,"url":null,"abstract":"Secure library reuse is critical for modern ap-plications to protect private information in software security engineering. Teaching secure programming is also more critical to tackle the challenges of new and evolving threats. However, novice students often make mistakes by API misuses due to a lack of understanding of secure libraries or a false sense of security. In this paper, we study the feasibility of applying code clone detection (CCD) for finding relevant examples to effectively teach secure programming to computer science students. CCD is an emerging new technology that extracts syntactically or semantically similar code fragments to support many software engineering tasks, such as program understanding, code quality analysis, software evolution analysis, and bug detection. We have developed a prototype implementation ExTUTOR that allows students to search for relevant examples as feedback when they want to fix their programming issues or vulnerabilities. In our evaluation, we applied ExTUTOR to open source subject applications in the security domain. Our approach should help novice students gain benefits from feedback and identify how to effectively make use of APIs, encouraging students to fix their own security violations in their own applications.","PeriodicalId":330838,"journal":{"name":"2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC)","volume":"68 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COMPSAC54236.2022.00238","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Secure library reuse is critical for modern ap-plications to protect private information in software security engineering. Teaching secure programming is also more critical to tackle the challenges of new and evolving threats. However, novice students often make mistakes by API misuses due to a lack of understanding of secure libraries or a false sense of security. In this paper, we study the feasibility of applying code clone detection (CCD) for finding relevant examples to effectively teach secure programming to computer science students. CCD is an emerging new technology that extracts syntactically or semantically similar code fragments to support many software engineering tasks, such as program understanding, code quality analysis, software evolution analysis, and bug detection. We have developed a prototype implementation ExTUTOR that allows students to search for relevant examples as feedback when they want to fix their programming issues or vulnerabilities. In our evaluation, we applied ExTUTOR to open source subject applications in the security domain. Our approach should help novice students gain benefits from feedback and identify how to effectively make use of APIs, encouraging students to fix their own security violations in their own applications.
代码克隆检测用于安全编程教育的可行性研究
在软件安全工程中,安全库重用是现代应用程序保护私有信息的关键。教授安全编程对于应对新的和不断发展的威胁的挑战也更为关键。然而,由于缺乏对安全库的理解或错误的安全感,新手经常会因滥用API而犯错误。在本文中,我们研究了应用代码克隆检测(CCD)来寻找相关例子的可行性,以有效地向计算机科学专业的学生进行安全编程的教学。CCD是一种新兴的新技术,它提取语法或语义上相似的代码片段,以支持许多软件工程任务,例如程序理解、代码质量分析、软件演化分析和错误检测。我们已经开发了一个原型实现ExTUTOR,当学生想要修复他们的编程问题或漏洞时,它允许学生搜索相关的示例作为反馈。在我们的评估中,我们将ExTUTOR应用于安全领域的开源主题应用程序。我们的方法应该帮助新手从反馈中获益,并确定如何有效地利用api,鼓励学生在自己的应用程序中修复自己的安全违规行为。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信