Show simple item record

Professor Advisordc.contributor.advisorBergel, Alexandre
Authordc.contributor.authorIllanes Venegas, Vicente Fernando 
Associate professordc.contributor.otherGuerrero Saldivia, César
Associate professordc.contributor.otherBarbay, Jeremy
Admission datedc.date.accessioned2021-08-30T17:22:37Z
Available datedc.date.available2021-08-30T17:22:37Z
Publication datedc.date.issued2021
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/181639
General notedc.descriptionMemoria para optar al título de Ingeniero Civil en Computaciónes_ES
Abstractdc.description.abstractHoy en día, las técnicas de aprendizaje de máquinas para generar código fuente son un área de investigación importante y prometedor. Se ha demostrado que la programación genética, o genetic programming (GP), contribuye eficientemente en la reparación de software y optimización de programas. Sin embargo, la mayoría de los avances aplicando GP para generar código fuente se limita a programas escritos en el lenguaje de programación C. Esto restringe a que muchas de las decisiones de diseño que se toman en cuenta en las soluciones implementadas son consecuencia de que este lenguaje es procedural y con tipos estáticos. Esta memoria explora el uso de la programación genética para generar código fuente en un lenguaje orientado a objetos con tipado dinámico. Esto implica que la técnica desarrollada debe tomar en cuenta el contexto clásico de estos lenguajes, que incluye: clases, métodos y objetos. Para este fin, se complementa a GP de un sistema de pesos que toma en cuenta la jerarquía y herencia de clases, la modularidad, variables de instancia y la localización de métodos. En cuanto a la calidad del código generado por GP, se utiliza un conjunto de pruebas unitarias (tests) que encapsulan los requerimientos funcionales que el código generado debe cumplir. Los experimentos se diseñan sobre el lenguaje de programación Pharo. En particular, se ejecuta el algoritmo en la librería Roassal, una herramienta de visualización escrita en este lenguaje, con el objetivo de generar el cuerpo de los métodos de una sola línea que pertenecen a Roassal. Los resultados obtenidos reflejan que GP dotado de un sistema de pesos permite producir código de una sola línea con una precisión del 51%, a diferencia del 44% utilizando un algoritmo GP puro. Estos resultados contribuyen a demostrar la factibilidad de que GP efectivamente puede construir código fuente en aplicaciones con programación orientada a objetos y dinámicamente tipado, y que, en un futuro, contribuya a construir parches automatizados que logren resolver errores de software en programas con las características mencionadas.es_ES
Lenguagedc.language.isoeses_ES
Publisherdc.publisherUniversidad de Chilees_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/*
Keywordsdc.subjectAprendizaje de máquina
Keywordsdc.subjectProgramación genética (Ciencia de la computación)
Keywordsdc.subjectFallas en el software computacional
Keywordsdc.subjectReparación de software
Títulodc.titleBúsqueda automatizada para generar código usando programación genética en un lenguaje de programación orientado a objetoses_ES
Document typedc.typeTesis
Catalogueruchile.catalogadorgmmes_ES
Departmentuchile.departamentoDepartamento de Ciencias de la Computaciónes_ES
Facultyuchile.facultadFacultad de Ciencias Físicas y Matemáticases_ES


Files in this item

Icon
Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Chile
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Chile