Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Clasificación basada en la detección de errores (página 3)




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4

Monografias.com
31
Definición del modelo (III)
Aprendizaje continuo con información de los propios desarrolladores
Base de conocimientos con información semántica sobre errores.
Colaboración entre los usuarios para completar la información de la base de conocimientos.
Información orientada a la solución y prevención de errores.
Accesible continuamente y de forma deslocalizada.

Monografias.com
32
Base de conocimientos colaborativa
La importancia no es su estructuración
Facilidad para llegar hasta la información relevante
Sistema crea hiperenlaces automáticamente.
Creación de índices que relacionan contenidos.
Facilidad para introducir nuevos contenidos:
Cualquier desarrollador puede hacerlo en cualquier momento sin necesidad de herramientas extra.
Con este modelo la información crece constantemente
Se va enriqueciendo con la experiencia de los desarrolladores.
El conocimiento se realimenta.

Monografias.com
33
Definición del modelo (IV)
Colaboración en el desarrollo de aplicaciones
Características del entorno para permitir este objetivo:
Entorno integrado.
Entorno orientado hacia código real.
Entorno fácil y disponible en cualquier sitio.
Soporte para trabajo en grupo.
Seguimiento mediante una historia de trabajo.

Monografias.com
34
Entorno de desarrollo colaborativo e historia de trabajo
La historia de trabajo permite hacer una navegación por la evolución del proyecto de forma asíncrona:
Permite buscar el origen de un problema
Permite estudiar el trabajo de cada desarrollador
Entorno de desarrollo que requiera la mínima instalación y configuración.
Herramientas de comunicación y coordinación entre los desarrolladores.

Monografias.com
35
PBA:
Sistema de análisis
de errores
de los programas
IDEWeb:
Entorno Integrado
de desarrollo
en Web
COLLDEV:
Entorno
de colaboración
en el desarrollo
Historia de
compilación
Base
de conocimientos
Colaborativa
Ficheros
del proyecto
/
historia de
trabajo
Añadir nuevos conocimientos
Crear nuevas
páginas
Avisos e
Informe
análisis errores
Lanza la
compilación
Mensajes
error
Envío y
Recepción
De mensajes
Mecanismo
De toma de
decisiones
Intercambio
ficheros dir
compartido

Monografias.com
36
COLLDEV: Entorno para la colaboración en el desarrollo de aplicaciones
Sistema colaborativo asíncrono que facilita la coordinación y colaboración de grupos para trabajar sobre un proyecto software.
Facilita la comunicación, coordinación y toma de decisiones conjunta por parte de los usuarios.
Gestiona los espacios de trabajo compartidos para los proyectos y permite el trabajo simultáneo de varios usuarios con los archivos.
Permite realizar un seguimiento del proceso de desarrollo mediante una historia activa de trabajo.

Monografias.com
37
IDEWeb:
Entorno Integrado
de desarrollo
en Web
COLLDEV:
Entorno
de colaboración
en el desarrollo
Historia de
compilación
Base de
conocimientos
Colaborativa
PBA:
Sistema de análisis
de errores
de los programas
Ficheros
del proyecto
/
historia de
trabajo
Añadir nuevos conocimientos
Crear nuevas
páginas
Avisos e
Informe
análisis errores
Lanza la
compilación
Mensajes
error
Envío y
Recepción
De mensajes
Mecanismo
De toma de
decisiones
Intercambio
ficheros dir
compartido

Monografias.com
38
IDEWeb: Entorno de desarrollo integrado en Web
Entorno de desarrollo sobre Web
El usuario puede ponerse a programar sin necesidad de instalar nada
Arquitectura Web permite centralizar la información sobre el proceso de desarrollo
Independencia del lugar de trabajo
Permite la creación, modificación y compilación de programas
Es un entorno abierto que permite la programación en distintos lenguajes

Monografias.com
39
IDEWeb: Base de conocimiento colaborativa
Los desarrolladores pueden:
Consultar ayuda sobre los errores:
Descripción
Contexto
Causas según contexto
Forma de solucionarlo
Introducir experiencia sobre los errores
El prototipo lo implementa sobre un Wiki
Información introducida manualmente por los desarrolladores.
Sistema enlaza automáticamente la información del error con cada de los avisos procedentes del análisis de errores

Monografias.com
40
Ficheros
del proyecto
/
historia de
trabajo
IDEWeb:
Entorno Integrado
de desarrollo
en Web
COLLDEV:
Entorno
de colaboración
en el desarrollo
Historia de
compilación
Base
de conocimientos
Colaborativa
PBA:
Sistema de análisis
de errores
de los programas
Añadir nuevos conocimientos
Crear nuevas
páginas
Avisos e
Informe
análisis errores
Lanza la
compilación
Mensajes
error
Envío y
Recepción
De mensajes
Mecanismo
De toma de
decisiones
Intercambio
ficheros dir
compartido

Monografias.com
41
PBA: Sistema de análisis de errores de programas
Sistema de gestión de errores utilizando compiladores y herramientas de análisis estático
El tratamiento incluye:
Captura, clasificación, almacenamiento y análisis de los errores.
El sistema genera estadísticas sobre los errores
Crea documentos HTML con los datos y las gráficas.
Objetivo resaltar errores más importantes del usuario para que trate de evitarlos

Monografias.com
42
Ficheros
del proyecto
/
historia de
trabajo
IDEWeb:
Entorno Integrado
de desarrollo
en Web
COLLDEV:
Entorno
de colaboración
en el desarrollo
Historia de
compilación
Base
de conocimientos
Colaborativa
PBA:
Sistema de análisis
de errores
de los programas
Consultar / Añadir nuevos conocimientos
Crear nuevas
páginas
Avisos e
Informe
análisis errores
Lanza la
compilación
Mensajes
error
Envío y
Recepción
De mensajes
Mecanismo
De toma de
decisiones
Intercambio
ficheros dir
compartido
Inicio de
sesión
Edición
proyecto
Pide compilación

Monografias.com
43
Objetivos
Analizar los errores de programación con los que se encuentran los estudiantes cuando realizan un proyecto software.
Proyectos reales realizados por los alumnos en asignaturas de distintos cursos de ingeniería informática.
Análisis estático de los proyectos ya finalizados.
Obtener los errores más frecuentes en cada curso.
Comparar los errores entre distintos niveles de experiencia y analizar su evolución.
Establecer los errores que caracterizan a los usuarios para su clasificación.

Monografias.com
44
Precedentes
Huizinga [Huizinga 2001] realizan un estudio sobre los problemas encontrados en una práctica de una asignatura de programación.
Define objetivos de cada proyecto y los relaciona con características de la entrega.
Herramienta de entrega automática de prácticas.
Datos estadísticos sobre el comportamiento del conjunto de los alumnos al presentar una práctica.
Satratzemi [Satratzemi 2001] estudia evolución de los errores según los alumnos realizan una determinada práctica.
Herramienta AnimPascal
Registro de acciones de AnimPascal se hace un seguimiento.

Monografias.com
45
Características de nuestro trabajo
Los proyectos analizados son todos relativamente grandes:
Proyectos realizados en Java
Proyectos más pequeños: 14 ficheros java con más de 4KB cada uno.
No se limita a una práctica de una única asignatura:
cinco asignaturas cada una de un curso
14377 ficheros en Java.
Se utiliza el sistema diseñado en esta tesis: SICODE
Detectar errores en el código fuente
Análisis estático más profundo que el que realiza un simple compilador.

Monografias.com
46
Fases
Recopilación de proyectos de distintos niveles (cursos) a partir de los proyectos entregados por los alumnos en cada asignatura.
Análisis de los mismos utilizando nuestro sistema SICODE.
Comparación de los datos de los proyectos en distintas etapas de aprendizaje de la programación.
Caracterización de los errores en relación a los niveles de experiencia de los desarrolladores.

Monografias.com
47
Elección de muestras
689 proyectos /
14.377 ficheros Java
Tamaño mínimo del proyecto:
14 ficheros de código fuente

Monografias.com
48
Búsqueda de errores
Herramientas que utiliza el prototipo Sistema de análisis de errores de programas (PBA) para realizar el análisis:
Javac, compilador comercial, Sun Microsystems
Antic [Knizhnik 2003], verificación sintáctica.
Jlint [Knizhnik 2003], verificación semántica.
FindBugs [Hovemeyer 2004a], detección de errores basándose en patrones de error
PMD [Copeland], detección de posibles errores mediante la comprobación de reglas

Monografias.com
49
Tipos de errores buscados
Errores lógicos: comparaciones, estructuras de control, inicialización.
Problemas de ocultación o ámbito de nombres.
Tratamiento de excepciones.
Código innecesario o no utilizado.
Mejoras en el diseño ? refactorización.
Se han eliminado los avisos correspondientes al incumplimiento de convenios de nombres y de código.

Monografias.com
50
Resultados generales
Distribución de los avisos detectados:
1er y 2º cursos: bastantes avisos que afectan a más del 75% de los proyectos.
3º, 4º un único aviso poco significativo.
PFC ningún error afecta a más del 50% de los proyectos.
Existen errores exclusivos para cada curso ? nivel de experiencia del programador.
Hay errores que permanecen a lo largo de todos los cursos:
Información importante para los profesores, pueden significar lagunas de conocimiento.
Errores que evolucionan a lo largo de los cursos:
Desaparecen por el incremento de la experiencia
Aparecen por los nuevos temas tratados en las asignaturas

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter