Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python (2019)
El propósito de este documento es generar el reporte del proyecto de grado. Su desarrollo está basado en la búsqueda e implementación de un algoritmo que permita mecanismos para encontrar plagio en código fuente. Este, debe considerar los requerimientos que posee la Universidad de los Andes. Adicionalmente, el funcionamiento de este algoritmo se encuentra dentro de una aplicación web, siendo ejecutado luego de cargar varios proyectos en una carpeta específica. Al completar la carga, se inicia la comparación individual de cada fichero, dando como resultado los valores necesarios para encontrar el grado de relación entre este y los otros documentos del mismo nombre. Con el resultado de la comparación, la persona que carga la información determina si hay o no casos de plagio en el reporte que el algoritmo genera. Teniendo esto en cuenta, el proyecto se lleva a cabo con la motivación de brindar capacidades y mecanismos a los profesores para enfrentar de forma eficiente y automática el plagio. En este, se presenta en 6 secciones el proceso realizado. Inicialmente, en la sección Descripción general, se definen los objetivos del proyecto y se da una aproximación a diversas soluciones que se han detallado hasta el momento. Se identifican las necesidades específicas para los lenguajes de programación Java y Python definiendo el problema y su importancia. Luego, se encuentra el Diseño y especificaciones, donde se define el problema que se desea abordar, con los requerimientos y restricciones que aplican para el mismo. El siguiente punto es el Desarrollo del diseño, en el cual se detalla la información que se consultó para realizar el diseño y posteriormente la Implementación. En esta sección, se presenta el proceso que se llevó a cabo para completar el desarrollo. Finalmente, se muestran los Resultados y las Conclusiones del trabajo desarrollado, exponiendo el nivel de completitud que se consiguió del proyecto y el trabajo a futuro para la idea de proyecto.