使用字节码方法检测编程入门课程作业的源代码抄袭

Oscar Karnalim
{"title":"使用字节码方法检测编程入门课程作业的源代码抄袭","authors":"Oscar Karnalim","doi":"10.1109/ICTS.2016.7910274","DOIUrl":null,"url":null,"abstract":"Even though there are various source code plagiarism detection approaches, most of them only concern with low-level plagiarism attack with an assumption that plagiarism is only conducted by students who are not proficient in programming. However, plagiarism is often conducted not only due to student incapability, but also because of bad time management. Thus, high-level plagiarism attack should be detected and evaluated. This paper proposes source code plagiarism detection approach which can detect most introductory-programming-course plagiarism attacks at any level by utilizing low-level instructions instead of source code tokens. Several mechanisms are also introduced to improve its effectiveness such as instruction generalization, instruction reinterpretation, method-based comparison, and method linearization. Since low-level instruction is a language-dependent feature, Java is selected as target programming language with bytecode as its low-level instruction. Based on evaluation, it can be concluded that our approach is more effective to detect most plagiarism attack types than raw source code approach on introductory programming course. This evaluation is based on plagiarism attack types that are collected through controlled experiment.","PeriodicalId":177275,"journal":{"name":"2016 International Conference on Information & Communication Technology and Systems (ICTS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"36","resultStr":"{\"title\":\"Detecting source code plagiarism on introductory programming course assignments using a bytecode approach\",\"authors\":\"Oscar Karnalim\",\"doi\":\"10.1109/ICTS.2016.7910274\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Even though there are various source code plagiarism detection approaches, most of them only concern with low-level plagiarism attack with an assumption that plagiarism is only conducted by students who are not proficient in programming. However, plagiarism is often conducted not only due to student incapability, but also because of bad time management. Thus, high-level plagiarism attack should be detected and evaluated. This paper proposes source code plagiarism detection approach which can detect most introductory-programming-course plagiarism attacks at any level by utilizing low-level instructions instead of source code tokens. Several mechanisms are also introduced to improve its effectiveness such as instruction generalization, instruction reinterpretation, method-based comparison, and method linearization. Since low-level instruction is a language-dependent feature, Java is selected as target programming language with bytecode as its low-level instruction. Based on evaluation, it can be concluded that our approach is more effective to detect most plagiarism attack types than raw source code approach on introductory programming course. This evaluation is based on plagiarism attack types that are collected through controlled experiment.\",\"PeriodicalId\":177275,\"journal\":{\"name\":\"2016 International Conference on Information & Communication Technology and Systems (ICTS)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-10-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"36\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 International Conference on Information & Communication Technology and Systems (ICTS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICTS.2016.7910274\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 International Conference on Information & Communication Technology and Systems (ICTS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICTS.2016.7910274","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 36

摘要

尽管有各种各样的源代码抄袭检测方法,但它们大多只关注低级别的抄袭攻击,并假设只有不精通编程的学生才会进行抄袭。然而,抄袭的发生不仅是因为学生的能力不足,还因为时间管理不善。因此,高层次的剽窃攻击应该被发现和评估。本文提出了一种源代码剽窃检测方法,该方法利用低级指令代替源代码令牌,可以检测任意级别的大多数入门编程课程剽窃攻击。本文还引入了指令泛化、指令重新解释、基于方法的比较和方法线性化等机制来提高算法的有效性。由于低级指令是一种依赖于语言的特性,因此选择Java作为目标编程语言,并将字节码作为低级指令。基于评估,可以得出结论,我们的方法比编程入门课程的原始源代码方法更有效地检测大多数剽窃攻击类型。此评估是基于通过对照实验收集的抄袭攻击类型。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Detecting source code plagiarism on introductory programming course assignments using a bytecode approach
Even though there are various source code plagiarism detection approaches, most of them only concern with low-level plagiarism attack with an assumption that plagiarism is only conducted by students who are not proficient in programming. However, plagiarism is often conducted not only due to student incapability, but also because of bad time management. Thus, high-level plagiarism attack should be detected and evaluated. This paper proposes source code plagiarism detection approach which can detect most introductory-programming-course plagiarism attacks at any level by utilizing low-level instructions instead of source code tokens. Several mechanisms are also introduced to improve its effectiveness such as instruction generalization, instruction reinterpretation, method-based comparison, and method linearization. Since low-level instruction is a language-dependent feature, Java is selected as target programming language with bytecode as its low-level instruction. Based on evaluation, it can be concluded that our approach is more effective to detect most plagiarism attack types than raw source code approach on introductory programming course. This evaluation is based on plagiarism attack types that are collected through controlled experiment.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信