Clasificación de usuarios basada en la detección de errores usando técnicas de procesadores de lenguaje
- Juan Manuel Cueva Lovelle Zuzendaria
Defentsa unibertsitatea: Universidad de Oviedo
Fecha de defensa: 2006(e)ko martxoa-(a)k 28
- Manuel Ortega Cantero Presidentea
- José Emilio Labra Gayo Idazkaria
- Luis Joyanes Aguilar Kidea
- Fernando Sánchez Figueroa Kidea
- María Ángeles Díaz Fondón Kidea
Mota: Tesia
Laburpena
Esta tesis lleva a cabo la definición de un modelo para un entorno de desarrollo de software, que facilita a los usuarios la construcción de aplicaciones con una mejor calidad del código que los entornos actuales. El modelo que, está implementado en el sistema denominado SICODE, se basa en técnicas de procesadores de lenguaje que permiten realizar un análisis estático del código fuente, para descubrir los errores de programación presentes en el código. Este modelo pretende incidir sobre los estilos en la forma de programar y no sólo sobre errores puntuales. Para ello se ha establecido lo que se denomina una historia de compilación, sobre la que se generan métricas de evolución y frecuencia de errores a lo largo del tiempo. Se utiliza un modelo activo en la prevención de errores mediante el envío de avisos. Estos avisos permiten asociar información semántica a cada error en una base de conocimientos. Esta base de conocimientos es dinámica y se realimenta con la experiencia de todos los desarrolladores, lo que permite aprender de la experiencia de los demás. En esta tesis se ha realizado un estudio que permite llevar a cabo la clasificación de usuarios basándose en la detección de errores en el código. SICODE nos ha permitido analizar los errores de un amplio número de proyectos realizados por desarrolladores. Así, hemos caracterizado distintos tipos de errores dependiendo de la experiencia de los programadores. Este estudio proporciona datos que permitirán construir las bases para modelizar al usuario y de esta forma hacer que el modelo sea adaptable. La tesis ofrece nuevos enfoques sobre los sistemas de desarrollo existentes en la actualidad. La construcción de la historia de compilación permite un análisis más profundo que el que puede realizar un simple compilador, y este análisis está al servicio de la mejora del código. Además, el sistema está centrado en el entorno de desarrollo y fusiona el