Um Método de Detecção de Plágio para Sistemas Juiz On-line baseado no Comportamento dos Alunos
Resumo
A prática do plágio é um problema grave e crescente no meio acadêmico, que interfere diretamente na qualidade do ensino. Esta pesquisa se contextualiza no problema da detecção de plágio entre códigos-fonte nas disciplinas de introdução de programação. Nessas disciplinas, os códigos desenvolvidos pelos alunos tendem a ser simples e pequenos, dificultando o processo de detecção de plágio por parte dos métodos tradicionais baseados em similaridade de código. Para contornar essa dificuldade, neste trabalho é proposto um método de detecção de plágio baseado em evidências extraídas de registros de logs de sistemas juízes online, onde as evidências estão relacionadas com o comportamento dos alunos durante suas tentativas de resolução dos exercícios de programação. Como resultado, o método proposto alcançou 0.83 na medida-F durante o processo de detecção de plágio.
Referências
Charikar, M. S. (2002). Similarity estimation techniques from rounding algorithms. In Proceedings of the Thiry-Fourth Annual ACM Symposium on Theory of Computing, STOC ’02, page 380–388, New York, NY, USA. Association for Computing Machi- nery.
Chawla, N. V., Bowyer, K. W., Hall, L. O., and Kegelmeyer, W. P. (2002). Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research, 16:321– 357.
Costa, T. L., de Oliveira, E. H. T., Passito, A., de Souza Pinto, M. A., de Carvalho, L. S. G., de Oliveira, D. B. F., and Pereira, F. D. (2021). Material didático interativo para a disciplina de introdução à programação de computadores. In Anais Estendidos do Simpósio Brasileiro de Educação em Computação, pages 41–42. SBC.
de Oliveira, J., Salem, F., de Oliveira, E. H. T., Oliveira, D. B. F., de Carvalho, L. S. G., and Pereira, F. D. (2020). Os estudantes leem as mensagens de feedback estendido exibidas em juı́zes online? In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1723–1732. SBC.
Dwan, F., Oliveira, E., and Fernandes, D. (2017). Predição de zona de aprendizagem de alunos de introdução à programação em ambientes de correção automática de código. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE), volume 28, page 1507.
Fonseca, S., Oliveira, E., Pereira, F., Fernandes, D., and Carvalho, L. S. G. (2019). Adaptação de um método preditivo para inferir o desempenho de alunos de programação. In Brazilian Symposium on Computers in Education (Simpósio Bra- sileiro de Informática na Educação-SBIE), volume 30, page 1651.
Freitas Júnior, H. B., Pereira, F. D., Oliveira, E. H. T., Oliveira, D. B. F., and Carvalho, L. S. G. (2020). Recomendação automática de problemas em juı́zes online usando processamento de linguagem natural e análise dirigida aos dados. In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1152–1161. SBC.
Galvão, L., Fernandes, D., and Gadelha, B. (2016). Juiz online como ferramenta de apoio a uma metodologia de ensino hı́brido em programação. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE), volume 27, page 140.
Gomes, K. and Matos, S. (2020). Detection of programming plagiarism in computing education: A systematic mapping study. In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1633–1642, Porto Alegre, RS, Brasil. SBC.
Lima, M., Carvalho, L. S. G., de Oliveira, E. H. T., Oliveira, D. B. F., and Pereira, F. D. (2020). Classificação de dificuldade de questões de programação com base em métricas de código. In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1323–1332. SBC.
Lima, M. A. P., Carvalho, L. S. G., de Oliveira, E. H. T., Oliveira, D. B. F., and Pereira, F. D. (2021). Uso de atributos de código para classificação da facilidade de questões de codificação. In Anais do Simpósio Brasileiro de Educação em Computação, pages 113–122. SBC.
Novak, M., Joy, M., and Kermek, D. (2019). Source-code similarity detection and detec- tion tools used in academia: A systematic review. ACM Trans. Comput. Educ., 19(3).
Oliveira, A. M. d. et al. (2016). Um método de detecção de plágio em códigos-fonte para disciplinas iniciais de programação.
Pereira, F. D., Fonseca, S. C., Oliveira, E. H., Cristea, A. I., Bellhäuser, H., Rodrigues, L., Oliveira, D. B., Isotani, S., and Carvalho, L. S. (2021a). Explaining individual and collective programming students’ behaviour by interpreting a black-box predictive model. IEEE Access.
Pereira, F. D., Fonseca, S. C., Oliveira, E. H., Oliveira, D. B., Cristea, A. I., and Carvalho, L. S. (2020a). Deep learning for early performance prediction of introductory program- ming students: a comparative and explanatory study. Brazilian journal of computers in education., 28:723–749.
Pereira, F. D., Oliveira, E., Cristea, A., Fernandes, D., Silva, L., Aguiar, G., Alamri, A., and Alshehri, M. (2019a). Early dropout prediction for programming courses suppor- ted by online judges. In International Conference on Artificial Intelligence in Educa- tion, pages 67–72. Springer.
Pereira, F. D., Oliveira, E. H., Oliveira, D. B., Cristea, A. I., Carvalho, L. S., Fonseca, S. C., Toda, A., and Isotani, S. (2020b). Using learning analytics in the amazonas: understanding students’ behaviour in introductory programming. British Journal of Educational Technology.
Pereira, F. D., Oliveira, E. H. T., Fernandes, D., and Cristea, A. (2019b). Early perfor- mance prediction for cs1 course students using a combination of machine learning and an evolutionary algorithm. In 2019 IEEE 19th International Conference on Advanced Learning Technologies (ICALT), volume 2161-377X, pages 183–184.
Pereira, F. D., Pires, F., Fonseca, S. C., Oliveira, E. H., Carvalho, L. S., Oliveira, D. B., and Cristea, A. I. (2021b). Towards a human-ai hybrid system for categorising program- ming problems. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, pages 94–100.
Pereira, F. D., Souza, L. M., Oliveira, E. H. T., Oliveira, D. B. F., and Carvalho, L. S. G. (2020c). Predição de desempenho em ambientes computacionais para turmas de programação: um mapeamento sistemático da literatura. In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1673–1682. SBC.
Ril Gil, Y., Toll Palma, Y. d. C., and Lahens, E. F. (2014). Determination of writing styles to detect similarities in digital documents. RUSC: Revista de Universidad y Sociedad del Conocimiento, 11(1).
Rossi, R. G. (2016). Classificaçao automática de textos por meio de aprendizado de máquina baseado em redes. PhD thesis, Universidade de São Paulo.
Santos, I. L., Oliveira, D. B. F., Carvalho, L. S. G., Pereira, F. D., and Oliveira, E. H. T. (2020). Tempos de transição em estados de corretude e erro como indicadores de desempenho em juı́zes online. In Anais do XXXI Simpósio Brasileiro de Informática na Educação, pages 1283–1292. SBC.
Schleimer, S., Wilkerson, D. S., and Aiken, A. (2003). Winnowing: Local algorithms for document fingerprinting. In Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, SIGMOD ’03, page 76–85, New York, NY, USA. Association for Computing Machinery.
Su, Z., Ahn, B.-R., Eom, K.-Y., Kang, M.-K., Kim, J.-P., and Kim, M.-K. (2008). Plagia- rism detection using the levenshtein distance and smith-waterman algorithm. In 2008 3rd International Conference on Innovative Computing Information and Control, pa- ges 569–569.
Tao, G., Guowei, D., Hu, Q., and Baojiang, C. (2013). Improved plagiarism detection algorithm based on abstract syntax tree. In Emerging Intelligent Data and Web Tech- nologies (EIDWT), 2013 Fourth International Conference on, pages 714–719.
Tian, Z., Zheng, Q., Liu, T., Fan, M., Zhuang, E., and Yang, Z. (2015). Software plagi- arism detection with birthmarks based on dynamic key instruction sequences. IEEE Transactions on Software Engineering, 41:1–1.
Wan, H., Liu, K., and Gao, X. (2018). Token-based approach for real-time plagiarism detection in digital designs. In 2018 IEEE Frontiers in Education Conference (FIE), pages 1–5.
Wasik, S., Antczak, M., Badura, J., Laskowski, A., and Sternal, T. (2018). A survey on online judge systems and their applications. ACM Comput. Surv., 51(1).
Watanobe, Y., Chowdhury, I., Cortez, R., and Vazhenin, A. (2020). Next-generation pro- gramming learning platform: Architecture and challenges. SHS Web of Conferences, 77:01004.
Yuan, B., Wang, J., Fang, Z., and Qi, L. (2018). A new software birthmark based on weight sequences of dynamic control flow graph for plagiarism detection. The Com- puter Journal, 61(8):1202–1215.
Yuan, Y. and Guo, Y. (2012). Boreas: An accurate and scalable token-based approach to code clone detection. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pages 286–289, New York, NY, USA. ACM.