Abstract
Code plagiarism – taking code from external sources and using it without reference in one’s own programs – can be a serious issue for programming students, depending on the policies being applied by their instructors. However, plagiarism can be inadvertent, due to a lack of knowledge among students. Our research shows varied understandings of correct code reuse, suggesting that students are not provided with appropriate guidelines. Our goal is to introduce good code referencing practice to students, to help raise students’ awareness of academic integrity and reduce the possibility of accidental plagiarism. We present Corona, a code referencing system that can assist students in creating references for their code while simultaneously educating them about ethical code reuse. Technical evaluation of the system shows that Corona can successfully generate references for code taken from 20 of 24 distinct programming assistance websites, and that it can find matches between students’ code and instructors’ example code and generate appropriate references. Our research in a small-scale environment suggests that the use of Corona as a demonstration tool in a lecture about code referencing increases student awareness of correct referencing practice. To improve our intervention, we also show steps that lecturers can take to further elevate students’ engagement in code referencing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Novak, M., Joy, M., Kermek, D.: Source-code similarity detection and detection tools used in academia: a systematic review. ACM Trans. Comput. Educ. 19(3), 1–37 (2019)
Lukashenko, R., Graudina, V., Grundspenkis, J.: Computer-based plagiarism detection methods and tools: an overview. In: International Conference on Computer Systems and Technologies, pp. 1–6. CompSysTech 2007 (2007)
Haefliger, S., von Krogh, G., Spaeth, S.: Code reuse in open source software. Manag. Sci. 54(1), 180–193 (2008)
Huang, H., Youssef, A.M., Debbabi, M.: Binsequence: fast, accurate and scalable binary code reuse detection. In: ACM on Asia Conference on Computer and Communications Security, pp. 155–166. ASIA CCS ’17 (2017)
Flores, E., Barrón-Cedeño, A., Rosso, P., Moreno, L.: Towards the detection of cross-language source code reuse. In: Muñoz, R., Montoyo, A., Métais, E. (eds.) NLDB 2011. LNCS, vol. 6716, pp. 250–253. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22327-3_31
Zander, C., Eckerdal, A., McCartney, R., Mostrom, J.E., Sanders, K., Thomas, L.: Copying can be good: how instructors use imitation in teaching programming. In: 24th Conference on Innovation and Technology in Computer Science Education, pp. 450–456. ITiCSE 2019 (2019)
Simon, Sheard, J., Morgan, M., Petersen, A., Settle, A., Sinclair, J.: Informing students about academic integrity in programming. In: 20th Australasian Computing Education Conference, pp. 113–122. ACM Press, New York, New York, USA (2018)
Academic integrity at MIT. https://integrity.mit.edu/handbook/writing-code. Accessed 20 Aug 2020
Zhao, L., Zhang, L., Yan, S.: A survey on research of code comment auto generation. J. Phys. Conf. Ser. 1345(3), 250–253 (2019)
Yang, B., Liping, Z., Fengrong, Z.: A survey on research of code comment. In: Third International Conference on Management Engineering, Software Engineering and Service Sciences, pp. 45–51 (2019)
Rahman, M.M., Roy, C.K., Keivanloo, I.: Recommending insightful comments for source code using crowdsourced knowledge. In: 15th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 81–90. IEEE (2015)
Wong, E., Yang, J., Tan, L.: Autocomment: mining question and answer sites for automatic comment generation. In: 28th International Conference on Automated Software Engineering (ASE), pp. 562–567. IEEE (2013)
Cordy, J.R., Roy, C.K.: The NiCad clone detector. In: 2011 IEEE 19th International Conference on Program Comprehension, pp. 219–220. IEEE (2011)
Hata, H., Treude, C., Kula, R.G., Ishio, T.: 9.6 million links in source code comments: purpose, evolution, and decay. In: 41st International Conference on Software Engineering, pp. 1211–1221. ICSE ’19, IEEE Press (2019)
Wise, M.J.: YAP3: improved detection of similarities in computer program and other texts. In: 27th SIGCSE Technical Symposium on Computer Science Education, pp. 130–134. SIGCSE 1996 (1996)
Karnalim, O., Simon, Chivers, W.: Layered similarity detection for programming plagiarism and collusion on weekly assessments. Comput. Appl. Eng. Educ. 30(6), 1739–1752 (2022)
Karnalim, O.: Source code plagiarism detection with low-level structural representation and information retrieval. Int. J. Comput. Appl. 566–576 (2019)
Prechelt, L., Malpohl, G.: Finding plagiarisms among a set of programs with JPlag. J Univers. Comput. Sci. 8, 1016–1038 (2003)
Simon, Cook, B., Sheard, J., Carbone, A., Johnson, C.: Academic integrity perceptions regarding computing assessments and essays. In: 10th Annual Conference on International Computing Education Research, pp. 107–114. ACM Press, New York, New York, USA (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
Cite this paper
Pangestu, M.A., Simon, Karnalim, O. (2023). Mitigating Accidental Code Plagiarism in a Programming Course Through Code Referencing. In: Keane, T., Lewin, C., Brinda, T., Bottino, R. (eds) Towards a Collaborative Society Through Creative Learning. WCCE 2022. IFIP Advances in Information and Communication Technology, vol 685. Springer, Cham. https://doi.org/10.1007/978-3-031-43393-1_55
Download citation
DOI: https://doi.org/10.1007/978-3-031-43393-1_55
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43392-4
Online ISBN: 978-3-031-43393-1
eBook Packages: Computer ScienceComputer Science (R0)