¿Cómo detectar el código más importante en una tesis de pregrado?

En la verificación de plagio de tesis universitarias, la detección de códigos generalmente se realiza mediante un software especializado de verificación de plagio. Este software suele utilizar una técnica llamada "similitud de texto" para comparar la similitud entre dos fragmentos de código. Esta tecnología convierte el código en una forma que la computadora pueda entender y luego compara las similitudes estructurales, sintácticas y lógicas entre las dos piezas de código.

Primero, el software de verificación de plagio preprocesará el código, incluida la eliminación de comentarios, espacios y otros caracteres innecesarios, y reemplazará todos los nombres de variables y funciones con marcadores de posición. El propósito de esto es permitir que el código se centre únicamente en su estructura lógica y algoritmo al comparar, sin verse afectado por nombres de variables y nombres de funciones específicos.

A continuación, el software de comprobación de duplicaciones convertirá el código preprocesado en una estructura de datos denominada "árbol de sintaxis abstracta" (AST). AST es una estructura de datos de árbol que puede representar la estructura del código, en la que cada nodo representa un elemento en el código (como una variable, función o expresión), y la relación entre nodos representa la relación lógica entre estos elementos.

El software de verificación de duplicados utilizará una técnica llamada "alineación de secuencia" para comparar las similitudes entre los dos ass. La idea básica de este método es considerar dos asts como dos secuencias y luego calcular la distancia de edición entre las dos secuencias (es decir, cuántas operaciones de inserción, eliminación o sustitución se requieren para convertir una secuencia en otra secuencia). Si la distancia de edición es pequeña, significa que los dos ast son muy similares, por lo que los códigos correspondientes también son muy similares.

Finalmente, el software de verificación de duplicaciones determinará si las dos piezas de código están duplicadas en función de la similitud calculada. En términos generales, si la similitud entre dos fragmentos de código excede un cierto umbral, se consideran duplicados. Este umbral generalmente lo establece la escuela o el tutor, y el valor específico puede variar según la disciplina y la especialización.