dc.contributorBergel, Alexandre
dc.contributorGuerrero Saldivia, César
dc.contributorBarbay, Jeremy
dc.creatorIllanes Venegas, Vicente Fernando
dc.date.accessioned2021-08-30T17:22:37Z
dc.date.available2021-08-30T17:22:37Z
dc.date.created2021-08-30T17:22:37Z
dc.date.issued2021
dc.identifierhttps://repositorio.uchile.cl/handle/2250/181639
dc.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.
dc.languagees
dc.publisherUniversidad de Chile
dc.rightshttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile
dc.subjectAprendizaje de máquina
dc.subjectProgramación genética (Ciencia de la computación)
dc.subjectFallas en el software computacional
dc.subjectReparación de software
dc.titleBúsqueda automatizada para generar código usando programación genética en un lenguaje de programación orientado a objetos
dc.typeTesis


Este ítem pertenece a la siguiente institución