Abstract | dc.description.abstract | Comprender y abordar los problemas de memoria es una tarea importante, pero tediosa y compleja, y es exacerbada cuando el software tiene que manejar una gran cantidad de datos.
A pesar de la diversidad de herramientas diseñadas para esta actividad, los desarrolladores aun tienen problemas para interpretar sus resultados, lo que podría disuadirlos de utilizar un perfilador de memoria. Para reducir la barrera al utilizarlos e interpretarlos, la alumna de doctorado Alison Fernández desarrolló una herramienta de perfilamiento de consumo de memoria de aplicaciones hechas en Python que permite una visualización en Pharo, mostrando las llamadas entre métodos mediante grafos y el consumo de memoria vs cantidad de ejecuciones de cada método con un gráfico de dispersión. Así mismo se presentan pistas visuales en el código fuente para resaltar el consumo de memoria, entre otros.
Tal herramienta requiere ser evaluada para estudiar y mejorar su usabilidad y utilidad, pero, pese a la relevancia de analizar cómo las características de las técnicas visuales apoyan a los desarrolladores con sus necesidades, no se han realizado estudios similares, de los que se tenga conocimiento, para proporcionar preguntas relacionadas con la tarea de analizar la memoria ni que las considere en métodos de investigación de visualizaciones.
El presente trabajo muestra el diseño y ejecución de una metodología para evaluar el perfilador de memoria mencionado. Esta consiste en un experimento controlado con practicantes de Python, los cuales son 4 desarrolladores expertos y 8 no expertos. Se contempla el rendimiento de los participantes al usar la herramienta, se les hace preguntas abiertas sobre lo que han aprendido con ella, se compara con un perfilador estándar de Python y se evalúa la carga cognitiva al momento de usar el perfilador bajo estudio, así como su usabilidad.
Como resultado, se identifica un total de 372 preguntas relacionadas con el análisis del consumo de memoria que se dividen en 4 categorías. También se describen cómo los desarrolladores responden estas preguntas utilizando las características de los perfiladores escogidos.
Respecto a la experiencia de usuario, usando SUS, tanto expertos como no expertos evalúan positivamente el perfilador bajo estudio (sobre el promedio) por sobre el perfilador estándar (bajo el promedio). Sobre la carga cognitiva, medido con NASA TLX, tienen valores similares entre expertos y no expertos en el conjunto. Sin embargo, con el perfilador bajo estudio, el grupo de expertos considera que la carga por frustración y rendimiento es lo que tiene menos peso, mientras que la demanda mental tiene mayor preponderancia; en cambio, para los no expertos la carga por frustración y demanda física es lo que tiene menor peso, mientras que la demanda mental y temporal tienen mayor. Con el perfilador clásico, en ambos grupos aumenta la carga asociada a la demanda mental y la frustración, sin embargo, se mantiene menor la carga temporal que con el otro perfilador. | es_ES |