Improving source code change set analysis by using a visual tool
Professor Advisor
dc.contributor.advisor
Bergel, Alexandre
Author
dc.contributor.author
Salgado Faila, Ronie Alexis
Associate professor
dc.contributor.other
Simmonds Wagemann, Jocelyn
Associate professor
dc.contributor.other
Tanter, Eric
Associate professor
dc.contributor.other
Ahumada Fierro, Luciano
Admission date
dc.date.accessioned
2020-05-08T16:31:55Z
Available date
dc.date.available
2020-05-08T16:31:55Z
Publication date
dc.date.issued
2019
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/174586
General note
dc.description
Tesis para optar al grado de Magíster en Ciencias, Mención Computación
es_ES
General note
dc.description
Memoria para optar al título de Ingeniero Civil en Computación
Abstract
dc.description.abstract
En los procesos modernos de desarrollo de programas computaciones, los elementos nuevos
del mismo son desarrollados en ramas completamente aisladas por cada uno de los miembros
de un equipo de desarrollo. La integración de cada una de estas ramas debe ser aprobada
por un integrador, quien debe revisar manualmente los cambios introducidos al código fuente
dentro de estas ramas. Esta revisión es un proceso largo y tedioso, que normalmente se realiza
mediante la lectura detallada de las diferencia textuales en los cambios al código fuente.
La dificultad de realizar esta revisión tiene un impacto negativo en la aceptación de estos
cambios. Ha sido mostrado que esto puede implicar el rechazo a importantes correcciones de
errores al código de un programa computacional.
Con el objetivo de facilitar la tarea de revisión de cambios de código, se diseño e implemento
una herramienta visual. Esta herramienta ayuda en el análisis de cambios de código
fuente al proveer diferentes vistas sobre los cambios: una vista general con métricas sobre
los cambios, y una visualización representando los cambios estructurales en el código fuente.
Esta herramienta visual fue evaluada mediante la realización de un experimento controlado
con desarrolladores.
Nuestros resultados experimentales no muestran diferencias significativas entre utilizar la
herramienta visual, y una herramienta de diferencia textual en los siguientes aspectos: tiempo
de análisis, precisión del análisis e inferencia de la intención de los cambios. Sin embargo, si
se encontró una percepción positiva en la experiencia de usuario, y una carga mental reducida
al utilizar la herramienta visual.
es_ES
Abstract
dc.description.abstract
Modern software development is performed by developing features in isolated branches by
each member of a software development team. When these branches need to be integrated,
they have to be manually reviewed by an integrator. Source code reviewing can be a tedious
and time consuming task, which is normally performed by hand reviewing a textual diff of
the change set.
The difficulty of reviewing source code changes can have a negative impact on the acceptance
of these changes. It has been shown that this can cause the rejection of important bug
fixes for a software project.
In order to facilitate the task of reviewing source code change sets, we designed and
implemented a visual tool. Our visual tool helps in assessing source code change sets by
providing different views of the change set: an overall overview of the change set with metrics,
and a visualization representing the structural changes in the source code. We evaluated our
visual tool by performing a controlled experiment with software practitioners.
Our experimental results show no significant differences between using our visual tool and
a textual diff tool in the following terms: time of analysis, precision of the analysis, and
inference of intention of changes. However, we did find a positive user perception, and a
reduced mental load when using our visual tool.