Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
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. Adicion...
- Autores:
-
Calderón Pachón, Héctor José
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2019
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/39247
- Acceso en línea:
- http://hdl.handle.net/1992/39247
- Palabra clave:
- Código fuente (Computación)
Algoritmos (Computadores)
Gestión de la configuración del software
Desarrollo de software
Ingeniería
- Rights
- openAccess
- License
- http://creativecommons.org/licenses/by-nc-nd/4.0/
id |
UNIANDES2_69a75e4764a3f6022327c46efc7c6f0a |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/39247 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.es_CO.fl_str_mv |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
title |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
spellingShingle |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python Código fuente (Computación) Algoritmos (Computadores) Gestión de la configuración del software Desarrollo de software Ingeniería |
title_short |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
title_full |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
title_fullStr |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
title_full_unstemmed |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
title_sort |
Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python |
dc.creator.fl_str_mv |
Calderón Pachón, Héctor José |
dc.contributor.advisor.none.fl_str_mv |
Hernández Hoyos, Marcela Aparicio Baquen, Christian Camilo |
dc.contributor.author.none.fl_str_mv |
Calderón Pachón, Héctor José |
dc.subject.keyword.es_CO.fl_str_mv |
Código fuente (Computación) Algoritmos (Computadores) Gestión de la configuración del software Desarrollo de software |
topic |
Código fuente (Computación) Algoritmos (Computadores) Gestión de la configuración del software Desarrollo de software Ingeniería |
dc.subject.themes.none.fl_str_mv |
Ingeniería |
description |
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. |
publishDate |
2019 |
dc.date.issued.none.fl_str_mv |
2019 |
dc.date.accessioned.none.fl_str_mv |
2020-06-10T16:07:43Z |
dc.date.available.none.fl_str_mv |
2020-06-10T16:07:43Z |
dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/1992/39247 |
dc.identifier.pdf.none.fl_str_mv |
u821146.pdf |
dc.identifier.instname.spa.fl_str_mv |
instname:Universidad de los Andes |
dc.identifier.reponame.spa.fl_str_mv |
reponame:Repositorio Institucional Séneca |
dc.identifier.repourl.spa.fl_str_mv |
repourl:https://repositorio.uniandes.edu.co/ |
url |
http://hdl.handle.net/1992/39247 |
identifier_str_mv |
u821146.pdf instname:Universidad de los Andes reponame:Repositorio Institucional Séneca repourl:https://repositorio.uniandes.edu.co/ |
dc.language.iso.es_CO.fl_str_mv |
spa |
language |
spa |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.coar.spa.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.es_CO.fl_str_mv |
48 hojas |
dc.format.mimetype.es_CO.fl_str_mv |
application/pdf |
dc.publisher.es_CO.fl_str_mv |
Universidad de los Andes |
dc.publisher.program.es_CO.fl_str_mv |
Ingeniería de Sistemas y Computación |
dc.publisher.faculty.es_CO.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.es_CO.fl_str_mv |
Departamento de Ingeniería de Sistemas y Computación |
dc.source.es_CO.fl_str_mv |
instname:Universidad de los Andes reponame:Repositorio Institucional Séneca |
instname_str |
Universidad de los Andes |
institution |
Universidad de los Andes |
reponame_str |
Repositorio Institucional Séneca |
collection |
Repositorio Institucional Séneca |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/3dcdf610-c9e2-42de-b6f6-d85eb6f3e53a/download https://repositorio.uniandes.edu.co/bitstreams/87f78757-6a27-4b04-8d51-42e1daf772ed/download https://repositorio.uniandes.edu.co/bitstreams/a98fd1e2-2519-4be6-aff7-f313a5b1ae3b/download |
bitstream.checksum.fl_str_mv |
3ed468964df204ddcea2d55af966e78f 03929687be16a23863f23d7f0c1b6717 9d2b033ce0c79764ed7b37a95f55dcbf |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio institucional Séneca |
repository.mail.fl_str_mv |
adminrepositorio@uniandes.edu.co |
_version_ |
1812133969208016896 |
spelling |
Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autores.http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Hernández Hoyos, Marcelavirtual::10782-1Aparicio Baquen, Christian Camilovirtual::10783-1Calderón Pachón, Héctor José560895002020-06-10T16:07:43Z2020-06-10T16:07:43Z2019http://hdl.handle.net/1992/39247u821146.pdfinstname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/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.The main purpose of this document is to generate the report of the degree project. Its development is based on the search and implementation of an algorithm that provides mechanisms to detect plagiarism in main codes. This algorithm must take into account the requirements specified by Universidad de los Andes. In addition, this algorithm operates in a web application, as well as executed after adding various projects in an specific file. When the upload is completed, an individual comparation of each file is started; as a result, it communicates the necessary values in order to find the degree of relation between this and other files of the same name. With this information, the operator can determine whether or not the case can be considered as plagiarism. Considering all of the above, the project is inspired by the wish to provide teachers capacities and mechanisms to face, in an automatic and efficient way, plagiarism. Consequently, it is centered in generating new action mechanisms against this practice. In order to achieve this objective, a description of this document is presented below. In this document are six sections containing the process. Initially, in the section of General Description, objectives are defined as well as an approach to different solutions previously detailed. Specific necessities for Java and Python languages are specified, defining the main problem and its importance. Afterwards, Design and Specifications defines the target problem, alongside with requirements and restrictions that apply to the case. Next section, Design Development, details the information consulted so as to make the design and implementation. In this section, the development of this whole process is presented. Finally, Results and Conclusions of the present worked expose the level of completeness that was achieves in this project; as well as future work needed for this project.Ingeniero de Sistemas y ComputaciónPregrado48 hojasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y Computacióninstname:Universidad de los Andesreponame:Repositorio Institucional SénecaGeneración de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y PythonTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttp://purl.org/coar/version/c_970fb48d4fbd8a85Texthttp://purl.org/redcol/resource_type/TPCódigo fuente (Computación)Algoritmos (Computadores)Gestión de la configuración del softwareDesarrollo de softwareIngenieríaPublicationhttps://scholar.google.es/citations?user=9nnSYmMAAAAJvirtual::10782-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000326453virtual::10782-130e973c9-1db4-4731-b61b-bc73c4aceecdvirtual::10782-1afbd9f7d-dab0-4d10-a8e0-41754e0b7f0dvirtual::10783-130e973c9-1db4-4731-b61b-bc73c4aceecdvirtual::10782-1afbd9f7d-dab0-4d10-a8e0-41754e0b7f0dvirtual::10783-1ORIGINALu821146.pdfapplication/pdf1693111https://repositorio.uniandes.edu.co/bitstreams/3dcdf610-c9e2-42de-b6f6-d85eb6f3e53a/download3ed468964df204ddcea2d55af966e78fMD51THUMBNAILu821146.pdf.jpgu821146.pdf.jpgIM Thumbnailimage/jpeg5609https://repositorio.uniandes.edu.co/bitstreams/87f78757-6a27-4b04-8d51-42e1daf772ed/download03929687be16a23863f23d7f0c1b6717MD55TEXTu821146.pdf.txtu821146.pdf.txtExtracted texttext/plain71886https://repositorio.uniandes.edu.co/bitstreams/a98fd1e2-2519-4be6-aff7-f313a5b1ae3b/download9d2b033ce0c79764ed7b37a95f55dcbfMD541992/39247oai:repositorio.uniandes.edu.co:1992/392472024-03-13 14:16:24.734http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.co |