CodeCaption : una herramienta para realizar Code Review distribuido

Detalles Bibliográficos
Autor Principal: Aparicio, Nahuel Alejandro
Otros autores o Colaboradores: Balaguer, Federico (Director/a)
Formato: Tesis
Lengua:español
Datos de publicación: 2022
Temas:
Acceso en línea:http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2599
Consultar en el Cátalogo
Descripción Física:1 archivo (5,7 MB) : il. col.
Tabla de Contenidos:
  • Capítulo 1. Introducción
  • 1.1 Objetivos del proyecto
  • 1.2 Motivación
  • 1.3 Organización de la Tesis
  • Capítulo 2. Antecedentes y Conceptos
  • 2.1 Calidad de Software y Métricas de Calidad de Código Fuente
  • 2.1.1 Métricas de Calidad Código Cualitativas
  • Eficiencia
  • Extensibilidad
  • Buena Documentación
  • Mantenibilidad
  • Claridad
  • Legibilidad y Formateo de Código
  • Comprobabilidad (Testability)
  • 2.1.2 Métricas de Calidad Código Cuantitativas
  • Puntos de Función Ponderados (Weighted Micro Function Points)
  • Métricas de Complejidad de Halstead
  • Complejidad Ciclomática
  • 2.2 Metodologías Ágiles y Extreme Programming
  • 2.3 Revisión de Código
  • 2.4 Análisis de Código Fuente y Abstract Syntax Trees (AST)
  • 2.5 Soluciones existentes
  • 2.6 CodeCaption en el Cumplimiento de las Métricas
  • Capítulo 3. Diseño
  • 3.1 Objetivos del diseño de la herramienta
  • 3.2 Diseño de la mecánica de uso
  • 3.2.1 Uso de la interfaz gráfica
  • 3.2.2 Cambios de las estructuras de datos en el uso de la herramienta
  • 3.3 Casos de Uso
  • 3.3.1 Revisor analiza el código de un desarrollador en el proyecto
  • 3.3.2 Desarrollador recibe revisión y realiza correcciones
  • 3.3.3 Revisor resuelve la revisión luego de aplicarse las correcciones
  • 3.3.4 Desarrollador decide no aplicar correcciones a partir de revisión
  • 3.4 Flujo e Interacción entre los Objetos del Diseño
  • 3.4.1 Diagrama de interacción para el agregado de un nuevo Code Caption
  • 3.4.2 Diagrama de interacción para la resolución de un Code Caption
  • 3.5 Diseño de CodeCaption dentro de Pharo
  • 3.5.1 Interfaz de CodeCaption
  • 3.5.1.1 Agregado y/o editado de CodeCaption
  • 3.5.1.2 Listado de CodeCaptions
  • 3.5.2 Extensión de la interfaz de Pharo
  • 3.5.2.1 Selección de código a revisar
  • 3.5.2.2 Apertura de listado de CodeCaptions
  • 3.6 Desventajas del Diseño
  • Capítulo 4. Implementación de la herramienta
  • 4.1 Introducción a la Implementación
  • 4.2 Diagrama de Clases
  • 4.3 Clases por Secciones
  • 4.4 Caption
  • CodeCaptionComment
  • CodeCaptionSource
  • CodeCaptionProject
  • CodeCaptionRBNodeMatcher
  • 4.5 UI Context
  • CodeCaptionAddCommand
  • CodeCaptionShowCommentsCommand
  • 4.6 UI
  • CodeCaptionListWindow
  • CodeCaptionWindow
  • 4.7 Extensions
  • RBProgramNode
  • IceLibgitRepository
  • 4.8 Interfaz gráfica
  • 4.8.1 Botones Comandos de Pharo Smalltalk
  • 4.8.1.1 Agregar y/o Editar un CodeCaption (CodeCaptionAddCommand)
  • 4.8.1.2 Listar CodeCaptions (CodeCaptionShowCommentsCommand)
  • 4.8.2 Ventanas Gráficas
  • 4.8.2.1 Agregado/Editado de CodeCaption (CodeCaptionWindow)
  • setModelBeforeInitialization: aCodeCaptionComment
  • initializeWindow: aWindowPresenter
  • initializePresenters
  • connectPresenters
  • 4.8.2.2 Listado de Revisiones de código CodeCaption (CodeCaptionListWindow)
  • setModelBeforeInitialization: aCodeCaptionProject
  • initializeWindow: aWindowPresenter
  • initializePresenters
  • connectPresenters
  • updatePresenter
  • 4.9 Almacenamiento de CodeCaption
  • 4.9.1 Guardado de CodeCaption
  • 4.9.2 Carga de CodeCaption
  • 4.10 Integración con los AST de Pharo Smalltalk
  • 4.10.1 Referencia a nodo del AST en las revisiones
  • 4.10.2 Uso del patrón Visitor en el AST al realizar el parseo de las revisiones
  • 4.11 Integración con Repositorio Git
  • 4.11.1 Utilización de Git dentro de Pharo mediante Iceberg
  • 4.11.2 Ejecución de comandos Git mediante la terminal
  • Capítulo 5. Prueba de usuario
  • 5.1 Objetivos de la prueba
  • 5.2 Tipo de prueba
  • 5.3 Usuarios de la prueba
  • 5.4 Definición de la Prueba
  • 5.4.1 Parte 1: Instalación de la aplicación y herramienta, y búsqueda de code smells
  • 5.4.2 Parte 2: Creación de revisiones de código con la herramienta 80
  • 5.4.3 Parte 3: Visualización de revisiones de código creadas por otro desarrollador. 80
  • 5.4.4 Encuesta
  • 5.5 Análisis
  • 5.5.1 Usabilidad
  • Duración de Identificación de Code Smells (eficiencia)
  • Sin el uso de CodeCaption
  • Con el uso de CodeCaption
  • Comparación de tiempos
  • Encuesta sobre rapidez y facilidad de uso (eficacia)
  • 5.5.2 Satisfacción del usuario
  • Pregunta 1:
  • Pregunta 3:
  • 5.5.3 Mejoras a realizar
  • Capítulo 6. Conclusiones y Trabajo Futuro
  • 6.1 Conclusiones
  • 6.2 Trabajo Futuro
  • Bibliografía