Detection of Programming Plagiarism in Computing Education: A Systematic Mapping Study

Resumo


The programming plagiarism is increasingly a problem in computing education, and the proposed solutions for this growing concern rely on automatic detectors. The usage of the automatic tools for this purpose can provide benefits in education for professors and instructors of programming assignments, besides, to avoid the lack of essential skills from the students since they compromise their programming logic by plagiarizing. This paper performs a systematic mapping study aligned with a snowballing technique to analyzes the existing solutions for this domain. As contributions, tendencies, as well as information analysis, are provided to guide new proposals of solutions.
Palavras-chave: Programming Plagiarism, Plagiarism Detection, Computing Education, Source Code

Referências

Acampora, G. and Cosma, G. (2015). A fuzzy-based approach to programming language independentsource-code plagiarism detection. In 2015 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), pages 1–8. IEEE.


Agrawal, M. and Sharma, D. K. (2017). A novel method to find out the similarity between source codes. In 2016 IEEE Uttar Pradesh Section International Conference on


Electrical, Computer and Electronics Engineering (UPCON), pages 339–343. IEEE.


Ajmal, O., Missen, M. S., Hashmat, T., Moosa, M., and Ali, T. (2014). Eplag: A two layer source code plagiarism detection system. In Eighth International Conference on


Digital Information Management (ICDIM 2013), pages 256–261. IEEE.


Andrianov, I., Rzheutskaya, S., Sukonschikov, A., Kochkin, D., Shvetsov, A., and Sorokin, A. (2020). Duplicate and plagiarism search in program code using suffix trees


over compiled code. In 2020 26th Conference of Open Innovations Association (FRUCT), pages 1–7.


Baby, J., Kannan, T., Vinod, P., and Gopal, V. (2014). Distance indices for the detection of similarity in c programs. In 2014 International Conference on Computation of


Power, Energy, Information and Communication (ICCPEIC), pages 462–467. IEEE.


Buchinger, D., de Siqueira Cavalcanti, G. A., and da Silva Hounsell, M. (2014). Mecanismos de busca acadêmica: uma análise quantitativa. Revista Brasileira de


Computação Aplicada, 6(1):108–120.


Chan, P. P., Hui, L. C., and Yiu, S.-M. (2013). Heap graph based software theft detection. IEEE Transactions on Information Forensics and Security, 8(1):101–110.


Cheers, H., Lin, Y., and Smith, S. P. (2019). A novel approach for detecting logic similarity in plagiarised source code. In 2019 IEEE 10th International Conference on Software Engineering and Service Science (ICSESS), pages 1–6.


Choi, J., Han, Y., Cho, S.-j., Yoo, H., Park, M., Han, S., You, I., and Song, I. (2013). A survey of feature extraction techniques to detect the theft of windows applications. In


2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pages 723–728. IEEE.


Dutta, R. (2015). Efficient approach to detect logical equivalence in the paradigm of software plagiarism. In Proceedings of the 2015 Third International Conference on


Computer, Communication, Control and Information Technology (C3IT), pages 1–5. IEEE.


França, A. B., Maciel, D. L., Soares, J. M., and Barroso, G. C. (2019). Sherlock n-overlap: Invasive normalization and overlap coefficient for the similarity analysis between source code. IEEE Transactions on Computers, 68(5):740–751.


Gomes, K. P. and Matos, S. (2019). Contributions of bioinformatics for computing education in the detection of programming assignment plagiarism. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE), volume 30, page 1351.


Herrera, G., Nuñez-del-Prado, M., Lazo, J. G. L., and Alatrista, H. (2019). Through an agnostic programming languages methodology for plagiarism detection in engineering coding courses. In 2019 IEEE World Conference on Engineering Education (EDUNINE), pages 1–6.


Jain, S., Kaur, P., Goyal, M., and Dhanalekshmi, G. (2017). Cplag: Efficient plagiarism detection using bitwise operations. In 2017 Tenth International Conference on


Contemporary Computing (IC3), pages 1–5. IEEE.


Jhi, Y. C., Jia, X., Wang, X., Zhu, S., Liu, P., and Wu, D. (2015). Program characterization using runtime values and its application to software plagiarism


detection. IEEE Transactions on Software Engineering, 41(9):925–943.


Kargén, U. and Shahmehri, N. (2017). Towards robust instruction-level trace alignment of binary code. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 342–352. IEEE.


Karnalim, O. (2017). Detecting source code plagiarism on introductory programming course assignments using a bytecode approach. In 2016 International Conference on Information & Communication Technology and Systems (ICTS), pages 63–68. IEEE.


Karnalim, O. (2018). An abstract method linearization for detecting source code plagiarism in object-oriented environment. In 2017 8th IEEE International Conference


on Software Engineering and Service Science (ICSESS), pages 58–61. IEEE.


Kikuchi, H., Goto, T., Wakatsuki, M., and Nishino, T. (2014). A source code plagiarism detecting method using alignment with abstract syntax tree elements. In 15th


IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), pages 1–6.IEEE.


Kim, B., Lim, K., Cho, S. J., and Park, M. (2019). Romadroid: A robust and efficient technique for detecting android app clones using a tree structure and components of


each app’s manifest file. IEEE Access, 7:72182–72196.


Kim, Y., Moon, J., Kim, D., Jeong, Y., Cho, S. J., Park, M., and Han, S. (2013). A static birthmark of windows binary executables based on strings. In 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, pages 734–738. IEEE.


Kurtukova, A., Romanov, A., and Fedotova, A. (2019). De-anonymization of the author of the source code using machine learning algorithms. In 2019 International MultiConference on Engineering, Computer and Information Sciences (SIBIRCON), pages 0612–0617. IEEE.


Lazar, F. M. and Banias, O. (2014). Clone detection algorithm based on the abstract syntax tree approach. In 2014 IEEE 9th IEEE International Symposium on Applied Computational Intelligence and Informatics (SACI), pages 73–78. IEEE.


Liu, K., Zheng, T., and Wei, L. (2014). A software birthmark based on system call and program data dependence. In 2014 11th Web Information System and Application Conference, pages 105–110. IEEE.


Ljubovic, V. and Pajic, E. (2020). Plagiarism detection in computer programming using feature extraction from ultra-fine-grained repositories. IEEE Access, 8:96505–96514.


Luo, L., Ming, J., Wu, D., Liu, P., and Zhu, S. (2017). Semantics-based obfuscationresilient binary code similarity comparison with applications to software and algorithm plagiarism detection. IEEE Transactions on Software Engineering, 43(12):1157–1177.


Mahbub, P., Oishie, N. Z., and Haque, S. R. (2019). Authorship identification of source code segments written by multiple authors using stacking ensemble method. In 2019 22nd International Conference on Computer and Information Technology (ICCIT), pages 1–6. IEEE.


Ming, J., Zhang, F., Wu, D., Liu, P., and Zhu, S. (2016). Deviation-based obfuscationresilient program equivalence checking with application to software plagiarism


detection. IEEE Transactions on Reliability,65(4):1647–1664.


Mirza, O. M., Joy, M., and Cosma, G. (2017). Style analysis for source code plagiarism detection—an analysis of a dataset of student coursework. In 2017 IEEE 17th


international conference on advanced learning technologies (ICALT), pages 296–297. IEEE.


Mišić, M. J., Protić, J. Z., and Tomašević, M. V. (2017). Improving source code plagiarism detection: lessons learned. In 2017 25th Telecommunication Forum (TELFOR), pages 1–8. IEEE.


Opris¸a, C. and Ignat, N. (2015). A measure of similarity for binary programs with a hierarchicalstructure. In 2015 IEEE International Conference on Intelligent Computer Communication and Processing (ICCP), pages 117–123. IEEE.


Pagani, R. N., Kovaleski, J. L., and Resende, L. M. (2015). Methodi ordinatio: a proposed methodology to select and rank relevant scientific papers encompassing the impact factor, number of citation, and year of publication. Scientometrics, 105(3):2109–2135.


Pajić, E. and Ljubović, V. (2019). Improving plagiarism detection using genetic algorithm. In 2019 42nd International Convention on Information and Communication


Technology, Electronics and Microelectronics (MIPRO), pages 571–576.


Pham, M. T. and Nguyen, T. B. (2019). The domjudge based online judge system with plagiarism detection. In 2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF), pages 1–6. IEEE.


Pohuba, D., Dulík, T., and Jank, P. (2014). Automatic evaluation of correctness and originality ofsource codes. In 10th European Workshop on Microelectronics Education (EWME), pages 49–52. IEEE.


Rattan, D., Bhatia, R., and Singh, M. (2013). Software clone detection: A systematic review. Information and Software Technology, 55(7):1165–1199.


Roopam and Singh, G. (2018). To enhance the code clone detection algorithm by using hybrid approach for detection of code clones. In 2017 International Conference on Intelligent Computing and Control Systems (ICICCS), pages 192–198.


Schneider, J., Bernstein, A., Vom Brocke, J., Damevski, K., and Shepherd, D. C. (2017). Detecting plagiarism based on the creation process. IEEE Transactions on Learning Technologies, 11(3):348–361.


Sharma, S., Sharma, C. S., and Tyagi, V. (2015). Plagiarism detection tool “parikshak”. In 2015 International Conference on Communication, Information & Computing


Technology (ICCICT), pages 1–7. IEEE.


Soh, C., Tan, H. B. K., Arnatovich, Y. L., and Wang, L. (2015). Detecting clones in android applications through analyzing user interfaces. In 2015 IEEE 23rd


international conference on program comprehension, pages 163–173. IEEE.


Strileţchi, C., Vaida, M., Chiorean, L., and Popa, S. (2016). A cross-platform solution for software plagiarism detection. In 2016 12th IEEE International Symposium on


Electronics and Telecommunications (ISETC), pages 141–144. IEEE.


Sudhamani, M. and Rangarajan, L. (2017). Code clone detection based on order and content of control statements. In 2016 2nd International Conference on Contemporary Computing and Informatics (IC3I), pages 59–64. IEEE.


Sun, W., Wang, X., Wu, H., Duan, D., Sun, Z., and Chen, Z. (2019). Maf: methodanchored test fragmentation for test code plagiarism detection. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET), pages 110–120. IEEE.


Tian, Z., Zheng, Q., Liu, T., and Fan, M. (2013). Dkisb: Dynamic key instruction sequence birthmark for software plagiarism detection. In 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing, pages 619–627. IEEE.


Tian, Z., Zheng, Q., Liu, T., Fan, M., Zhuang, E., and Yang, Z. (2015). Software plagiarism detection with birthmarks based on dynamic key instruction sequences.


IEEE Trans. Software Eng., 41(12):1217–1235.


Varela, A. S. N., Pe´rez-Gonzalez, H. G., Mart´ınez-Perez, F. E., and SoubervielleMontalvo, C. (2017). Source code metrics: A systematic mapping study. Journal of


Systems and Software, 128:164–197.


Wang, H., Zhong, J., and Zhang, D. (2015). A duplicate code checking algorithm for the programming experiment. In 2015 Second International Conference on Mathematics and Computers in Sciences and in Industry (MCSI), pages 39–42. IEEE.


Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. In Proceedings of the 18th international


conference on evaluation and assessment in software engineering, pages 1–10.


Xu, X., Fan, M., Jia, A., Wang, Y., Yan, Z., Zheng, Q., and Liu, T. (2020). Revisiting the challenges and opportunities in software plagiarism detection. In 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 537–541. IEEE.


Zhang, F., Wu, D., Liu, P., and Zhu, S. (2014). Program logic based software plagiarism detection. In 2014 IEEE 25th International Symposium on Software Reliability


Engineering, pages 66–77. IEEE.


Zhang, Li, P. and Liu, Dong, S. (2013). Ast-based multi-language plagiarism detection method. In 2013 IEEE 4th International Conference on Software Engineering and


Service Science, pages 738–742. IEEE.


Publicado
24/11/2020
Como Citar

Selecione um Formato
GOMES, Kaio Pablo; MATOS, Simone Nasser. Detection of Programming Plagiarism in Computing Education: A Systematic Mapping Study. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 31. , 2020, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 1633-1642. DOI: https://doi.org/10.5753/cbie.sbie.2020.1633.