Programming and discussing in live programming environments
Professor Advisor
dc.contributor.advisor
Bergel, Alexandre
Professor Advisor
dc.contributor.advisor
Robbes, Romain
Author
dc.contributor.author
Kubelka, Juraj
Associate professor
dc.contributor.other
Bastarrica Piñeyro, María Cecilia
Associate professor
dc.contributor.other
Simmonds Wagemann, Jocelyn
Associate professor
dc.contributor.other
Begel, Andrew
Admission date
dc.date.accessioned
2020-09-07T20:33:40Z
Available date
dc.date.available
2020-09-07T20:33:40Z
Publication date
dc.date.issued
2020
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/176714
General note
dc.description
Tesis para optar al grado de Doctor en Ciencias, Mención Computación
es_ES
Abstract
dc.description.abstract
La programación en vivo proporciona herramientas para consultar y modificar software en el tiempo de ejecución, sin re-compilar y reiniciar desde cero. Creemos que la programación en vivo afecta positivamente la forma que los desarrolladores trabajan y se comunican mientras cambian el software. Por lo tanto, estudiamos este fenómeno.
Reportamos 1.161 preguntas de desarrolladores formuladas durante 17 sesiones de programación en vivo. Observamos que los desarrolladores tienen preguntas similares según estudios anteriores sobre programación no en vivo. Sin embargo, los desarrolladores que utilizan programación en vivo observan más seguido la información en el tiempo de ejecución. Para eso los programadores exploran el software utilizando herramientas llamadas playground, inspector de objetos, y debugger. Además emplean estrategias simples para conseguir la información y optan por respuestas inmediatas después de cada cambio de software. Concluimos que las herramientas de desarrollo deberían proporcionar más opciones para acceder a la información en el tiempo de ejecución.
Luego discutimos cómo debería ser la comunicación electrónica sobre la programación en vivo. Introducimos 4 niveles de mensajes en vivo, explicando las consecuencias de los diferentes contenidos de los mensajes. El nivel 4 representa una comunicación que integra las mismas herramientas que los desarrolladores usan durante la programación en vivo.
Implementamos LightShare, una herramienta de comunicación integrada en un entorno de programación en vivo. Luego realizamos un estudio de evaluación que duró cinco semanas. Observamos que LightShare cumple su función al mejorar la fidelidad de los mensajes. Describimos el uso observado de LightShare, las limitaciones, y las sugerencias para mejorarlo, extraídas de las respuestas de los participantes.
es_ES
Patrocinador
dc.description.sponsorship
CONICYT-PCHA/Doctorado Nacional/2013-63130188, FONDECYT Regular 1120094 y 1151195.