• No se han encontrado resultados

PL Publicados de Experimentos de Ingeniería de Software

Parte I INTRODUCCIÓN A LA INVESTIGACIÓN REALIZADA

Capítulo 3 Estado de la Cuestión

3.5 PL Publicados de Experimentos de Ingeniería de Software

Ingeniería de Software

Para poder completar el análisis del estado de la cuestión, se realiza un estudio de los PL publicados de experimentos en IS. Se analiza cuáles son las características de los PL publicados y sus carencias. El objetivo de este estudio es evaluar la madurez de los PL analizando casos de experimentos concretos que tengan un PL disponible.

Para poder determinar el grado de madurez de los PL publicados, se realiza comparación de la estructura y contenido de los mismos. Para realizar la comparación, se establece una clasificación de los niveles posibles en el contenido de un PL. Luego se realiza una búsqueda de los PL disponibles mediante motores de búsqueda de bibliografía científica. A partir de los PL encontrados se construye una tabla comparativa que califica el tipo de contenido para cada actividad del proceso de experimentación. En la tabla comparativa también se incluyen características generales del PL como: formato, estructura y canal de publicación.

3.5.1

Niveles de Contenido de un PL

Por la diversidad de investigaciones y la carencia de guías de estructura, el contenido de diversos PL puede ser muy distinto, cualitativa y cuantitativamente. Los PL pueden contener desde un resumen breve del experimento, hasta artefactos e instrucciones detalladas para su replicación e, incluso, información de las distintas replicaciones realizadas. Por lo general, los PL contienen los artefactos utilizados en el experimento, por ejemplo: programas, requisitos, fallos, etc., para que pueda ser replicado. Además se describen los factores estudiados y los parámetros utilizados en el contexto del experimento. Los PL no tienen porque limitarse al intercambio de artefactos, sino que también pueden incluir descripciones y procedimientos que facilitan la realización del experimento. Para definir estos distintos niveles de profundidad en la descripción de un experimento con el fin de replicarlo, se utilizan las siguientes categorías:

Artículo (resumen del experimento y descripción de principales resultados). Si el artículo no viene acompañado de un PL, y es él mismo el único proveedor de información para la replicación. Un artículo proporciona información insuficiente para replicar el experimento. A veces los reportes técnicos permiten un mayor desarrollo ya que no tienen las restricciones de espacio y formato que imponen revistas o conferencias.

Operacional (materiales para la operativa). El nivel operacional se logra cuando el PL incluye los artefactos para realizar el experimento. Estos artefactos pueden ser elementos de la producción de software, así como elementos propios de la operativa del experimento: instrucciones para los sujetos, formularios e instrumentos de medición.

Descriptivo (descripción del experimento). Contar con todos los artefactos no garantiza que pueda hacerse una replicación exacta. Para la replicación externa es necesaria contar con una descripción de los elementos para que el investigador que los recibe pueda comprenderlos. También debe describirse el diseño utilizado para el experimento y el contexto en el que fue realizado.

Procedimental (guía para el proceso experimental). Para minimizar el esfuerzo de replicación el PL puede dar guías directas al experimentador sobre cómo hacer la replicación, paso a paso. De esta forma se mejora el nivel meramente descriptivo para contar con ayudas sobre el procedimiento a seguir. A este nivel lo llamamos procedimental.

Fundamentado (justificación de decisiones). Un último nivel de profundidad se da cuando los PL contienen las justificaciones para fundamentar las decisiones tomadas para realizar el experimento. La presencia de estas justificaciones permite a los experimentadores que quieren hacer una replicación, comprender las decisiones y tomar las suyas propias.

Es importante notar que estos niveles de profundidad se pueden dar en forma distinta para distintas partes del experimento. En la siguiente sección se analiza las actividades que se realizan en el proceso experimental, para poder analizar con más detalle la profundidad del contenido del los PL para cada una.

3.5.2

Actividades del Proceso Experimental

En cada una de las actividades del proceso experimental se realizan varias tareas y producen ciertos resultados. La profundidad de las descripciones que encontramos en un PL puede ser distinta para cada una de las fases. Así por ejemplo, un PL puede contener información sobre la operación, pero no aporta datos sobre el diseño experimental o el análisis de datos. También puede darse el caso de que el PL tenga descripciones que difieran en profundidad para las distintas actividades.

Por tanto, para clasificar los PL descomponemos su contenido en las actividades del proceso experimental. Para cada una de las mismas se analiza cuál es el nivel de profundidad de las descripciones. En base a los productos que deben obtenerse de cada actividad, la información evaluada es:

Planteamiento del estudio: Objetivo; Contexto de la investigación; Técnicas estudiadas; Restricciones.

Diseño experimental: Factores y parámetros; Perfil de los sujetos (si aplica), Análisis de amenazas a la validez.

Operación: Objetos (especificaciones, código, faltas, etc.); Instrumentos; Descripción del contexto; Material de entrenamiento (si aplica); Procedimiento de operación.

Análisis estadístico: Definición de variables respuesta; Plantillas de datos; Herramientas para el análisis; Guías para la interpretación.

Reporte: Identificación de replicaciones; Factores investigados y justificación de cambios en el diseño.

Alguna de las actividades que son parte del proceso de investigación experimental excede la realización de una replicación y tienen que ver con la evolución de la investigación en la que está inscripta. Estas actividades incluyen la definición de la investigación, la agregación de resultados y la mejora del paquete.

A nivel del PL estas actividades de investigación también pueden estar soportadas en la estructura y facilitadas mediante descripciones, herramientas o procedimientos. Si se parte del supuesto que los recursos disponibles y el contexto de replicación será distinto, lo más probable es que un experimento cambie a lo largo de la investigación. El PL puede estar preparado para facilitar el cambio y recibir la información que resulta de estos cambios.

Con respecto al soporte del proceso de investigación experimental se consideran los siguientes puntos de análisis:

Agregación de resultados: Publicación de datos brutos; Herramientas de análisis y meta-análisis.

Evolución del experimento: Actualizaciones del paquete; Versionado.

3.5.3

Búsqueda de PL Publicados

Las palabras clave utilizadas para la búsqueda fueron: software engineering replication (alternativo laboratory) package. Luego de obtener los resultados primarios se

realizó una revisión manual para ver cuáles contenían efectivamente paquetes de laboratorio. También se utilizaron referencias a PL de experimentos conocidos por el investigador. Solo se han considerado aquellos PL que estuvieran disponible por la web en forma abierta. Algunos de los encontrados no están disponibles al momento de finalizar esta investigación en 2011 pero son considerados aquí porque estuvieron en el momento de realizar la búsqueda. La búsqueda de PL publicados fue realizada de enero a marzo de 2006 [Solari y Vegas, 2006] y se realizó una actualización en 2010 por la que se agregaron 2 PL.

Los PL encontrados se dividen en tres categorías: experimentos únicos, repositorios de material e infraestructuras de apoyo genéricas.

En primer lugar se encuentran los PL construidos para un único experimento o una única familia de experimentos. Estos PL suelen tener una estructura específica adaptada para describir las características particulares del experimento. Es habitual que este tipo de PL sea referenciado desde artículos científicos que, por falta de espacio, no pueden incluir todo el detalle del experimento.

Los repositorios de material son un caso particular de PL enfocado en los objetos experimentales. Por ejemplo contienen programas en distintas versiones e información sobre los mismos. Estos objetos pueden ser utilizados en experimentos de distinto tipo. Los repositorios solucionan uno de los problemas más importantes de la experimentación: la construcción del material. Sin embargo, este enfoque no da apoyo a otras actividades del proceso experimental, como el diseño experimental o el análisis estadístico.

Por último, se han encontrado infraestructuras de apoyo genéricas al proceso experimental. Estas infraestructuras no están enfocadas en el material o en una familia de experimentos específicos. Por el contrario, pueden dar soporte a las actividades del proceso experimental para cualquier familia de experimentos. Las estructuras pueden ser de tipo conceptual (por ejemplo un modelo de datos) o estar implementadas en un sistema concreto.

En el caso de repositorio o infraestructuras de apoyo, solo se han considerado las que tienen al menos una instancia de un experimento concreto. A continuación se describen brevemente los PL encontrados:

1. PL sobre técnicas de detección de defectos. Compara las técnicas de prueba funcional y estructural, con la revisión de código. El PL contiene especificaciones, programas y listas de defectos necesarios para replicar un experimento que compara técnicas de detección de defectos. Incluye los formularios que se utilizan para recoger información durante la operación del experimento. Contiene además el material de entrenamiento utilizado. En cuanto a su profundidad, se trata de un paquete de replicación operacional y descriptivo. Se centra en la fase operativa, sin incluir material específico sobre el diseño del experimento o el análisis de datos. En el reporte del experimento original [Kamsties y Lott, 1995a] aparecen las descripciones más detalladas. Se describen las hipótesis, el diseño del experimento y el análisis de datos. La información de las replicaciones se encuentra en reportes técnicos que no están integrados al paquete. El propio paquete no contiene información de las mejoras realizadas ni de sus diferentes versiones. En el caso de este paquete se observa como la publicación de los artefactos ha conseguido promover replicaciones externas del experimento. De hecho, en una de las replicaciones externas en la Universidad de Strathclyde

evoluciona el diseño del experimento [Wood et al., 1997]. Se utilizan los mismos artefactos como base, pero cambian las técnicas y herramientas investigadas. También cambian los formularios de recogida de datos.

2. PL sobre lectura basada en perspectivas. El paquete se divide en dos componentes principales. Una web con enlaces de hipertexto para estructurar el contenido y un reporte técnico para describir el experimento [Basili et al., 1996b]. El sitio web puede considerarse auto-contenido y está orientado a la replicación. Además de los artefactos tradicionales, se incluyen scripts para hacer el análisis de datos y justificación del diseño utilizado para minimizar amenazas a la validez. Algunos de los materiales están disponibles además de en la web en una versión comprimida en un solo fichero, para facilitar su manipulación. Este paquete de replicación está construido con el objetivo de realizar transferencia de conocimiento entre investigadores. Para su construcción se tuvo en cuenta elementos de empaquetamiento y se basa en un modelo para externalizar conocimiento tácito [Shull et al., 2002]. De este experimento se han realizado replicaciones en diferentes sitios y se han evolucionado sus materiales [Conradi et al., 2001]. El paquete se caracteriza por contener espacio en la estructura específico para describir las replicaciones, sus cambios y resultados de la experiencia.

3. PL sobre lectura basada en uso y listas de verificación. El paquete contiene información detallada para facilitar la replicación del experimento. Incluye material de introducción, entrenamiento, formularios para caracterizar a los sujetos y material operativo. Se han realizado replicaciones internas con este paquete de replicación [Thelin et al., 2003]. Las replicaciones varían el diseño pero no los materiales utilizados. En la estructura del paquete no hay un historial, pero en los artículos se describen las replicaciones y la evolución del experimento. Este paquete posee una estructura de índice y resumen para facilitar su manipulación. Al momento de finalizar esta investigación no está disponible en la web.

4. PL sobre inspecciones orientadas a objetos. Este paquete es un contenedor de los artefactos utilizados en experimentos publicados en distintos artículos. Contiene solo material operativo, sin descripciones específicas de replicación ni estructuras para la agregación de resultados. En los artículos publicados hay descripciones de cada replicación. El paquete principal tiene tres versiones. Para cada versión hay referencias a los artículos donde fue utilizado. Cada paquete tiene una estructura que organiza por semanas el planteamiento del experimento y lo vincula con el material, organizado en directorios. Al momento de finalizar esta investigación no está disponible en la web.

5. PL SIR (Software Infrastructure Repository). Este PL corresponde a la categoría repositorio de material operativo. Sin embargo, existe un experimento concreto para el que fue utilizado el material, sobre técnicas de prueba de regresión [Do et al., 2005]. Por ese motivo, se considera como PL en la comparación. El repositorio incluye varios programas y varias versiones de cada uno. Utiliza una estructura definida para empaquetar estos elementos. Cada programa cuenta con una descripción breve e historial. De cada versión se guarda información de los

cambios realizados, por ejemplo: defectos corregidos. Estos programas son útiles para realizar experimentos con conjuntos de casos de prueba ya generados, donde se quiere comprobar la efectividad del conjunto de casos contra distintas versiones del programa.

6. PL sobre descomposición de clases. El grupo de investigación LORE tiene también disponibles en su página otros ejemplos de PL para experimentos IS. Como se trata de experimentos similares, se ha considerado solo uno de los publicados por el grupo. El experimento estudia si la descomposición de clases afecta la comprensibilidad. Todo el PL está contenido en un fichero comprimido que se puede descargar. El mismo está dividido en tres secciones, según el uso que puede darle el investigador: recolección de nuevos datos con el mismo experimento, re-corrección de los ejercicios realizados y re-análisis de los datos estadísticos de la replicación. En síntesis, se trata de un PL que sirve para hacer disponibles los artefactos del experimento que no pueden ser incluidos en un artículo.

7. PL sobre uso de estereotipos UML. El experimento estudia como del uso de estereotipos en diagramas UML afecta la comprensión de los mismos [Genero et al., 2008]. Se realizó una serie de experimentos y el material se puso a disposición en la web. El PL incluye el material de entrenamiento y ejemplos utilizados. El formato del material son documentos imprimibles. También se incluyen los datos brutos obtenidos en una replicación. Estos datos están disponibles en el formato nativo de la herramienta SPSS.

La Tabla 3.3 contiene un resumen de los PL analizados. Es importante notar que en la mayor parte de los casos hay información contenida en artículos que no está en el cuerpo principal del paquete.

PL 1 2 3 4 5 6 7

Autores Kamsties y

Lott Basili et al. Thelin et al. Dunsmore Do et al. Du Bois Genero et al.

Año 1995 1995 2003 2003 2005 2006 2008

Tema de

investigación Prueba funcional, estructural y revisión Lectura basada en perspectiv as Lectura basada en listas de verificació n Inspección orientada a objetos Prueba de

regresión Descomposición de clases Estereotip os UML Replicaciones conocidas (institución) Kaiserslaut ern Strathclyde Maryland NASA SEL Kaiserslaut ern

Lund Strathclyde Nebraska Antwerp Bari Castilla-La Mancha

Tabla 3.3: Resumen de los PL encontrados.

3.5.4

Comparación de PL Publicados

Esta comparación se centra en el PL como herramienta auto-contenida e independiente de otros documentos. Por ese motivo, sólo se considera la información que está integrada en el PL y no en los artículos publicados sobre los distintos experimentos. En la Tabla 3.4 se realiza una comparación del soporte para cada actividad del proceso experimental. Las celdas en blanco de la tabla significan que el PL no contiene información sobre el punto o que esta está en un artículo u otro documento.

PL 1 2 3 4 5 6 7 Planteamiento del estudio

Objetivo Si Si Contexto de la investigación Si Técnicas estudiadas Si Parcial Restricciones Diseño experimental Factores y parámetros Si Si

Perfil de los sujetos

(si aplica) Parcial Si Análisis de amenazas a la validez Operación Objetos Si Si Si Si Si Si Si Instrumentos Si Si Si Si Si Descripción del ambiente Parcial Material de entrenamiento (si aplica) Si Si Si Si Si Procedimiento de

operación Parcial Parcial Parcial Parcial Parcial Parcial

Análisis estadístico Definición de variables respuesta Si Si Plantillas de datos Si Herramientas para el análisis Guías para la interpretación Si Reporte Identificación de replicaciones Si Si Si Cambios en el diseño Si Agregación de resultados Publicación de datos brutos Si Si Herramientas de meta-análisis

Evolución del experimento

Actualizaciones del

paquete Si Si Si Versionado Si

Tabla 3.4: Contenido de los PL comparados con respecto al proceso experimental. En forma separada se estudia el formato de fichero y estructura utilizado por cada PL. La Tabla 3.5 permite hacerse una idea del estilo utilizado por los grupos de investigación para publicar sus materiales y resultados experimentales.

3.5.5

Limitaciones Observadas en los PL

Disponibles

Se observa el número de PL disponibles es relativamente bajo. Aunque la búsqueda no ha sido exhaustiva, llama la atención la disparidad entre experimentos de IS existentes y PL

disponibles para dichos experimentos. Es posible que el material o descripciones adicionales hayan sido publicadas en algún medio, pero no son fáciles de encontrar en los motores de búsqueda en internet.

PL 1 2 3 4 5 6 7

Formato y publicación

Formato tar pdf html ps zip pdf fm zip html

doc html gz html doc xls sav/spo

zip pdf sav/spo

Resumen e índice Resumen

en la web Hipertexto en la Web

Tabla de

contenido Estructura directorio Web y estructura directorio Web y estructura directorio Web y estructura directorio Estructura unificada Si Si Si Si Disponibilidad Web Web Web Web Web Web Web

Tabla 3.5: Formato y estructura de los PL comparados.

También se observa que las descripciones incluidas en los PL son escasas. En la mayoría de los casos estudiados estas descripciones no están orientadas al replicador. Esto provoca que la realización de una replicación sea una actividad menos probable. Aún así, se considera que el hecho de publicar el material y las instrucciones básicas, aunque estas sean breves, aumenta la probabilidad de conseguir replicaciones del experimento.

Las secciones que contienen los PL analizados difieren considerablemente. No se encuentra una estructura uniforme entre los mismos. El lenguaje para describir los conceptos experimentales no es el mismo. Otra dificultad observada es que los PL no cubren de la misma manera las distintas actividades del proceso experimental.

Un análisis global de los PL encontrados permite hacerse una idea de las principales carencias de los PL de IS:

Los PL se centran mayoritariamente en los artefactos de operación de los experimentos. Algunos no contienen ninguna información adicional al material operativo. En general, esto se debe a que suponen la lectura de un artículo antes de entrar en contacto con el material.

Las descripciones y guías para las actividades de replicación son menos frecuentes. Solamente en uno de los casos se han incorporado en el mismo formato del PL instrucciones orientadas al replicador.

Es raro ver integrado en el PL la información de las replicaciones realizadas y de la evolución de la investigación experimental. Normalmente los datos de las replicaciones son parte de artículos o reportes técnicos, pero no están unificadas bajo una misma estructura.

No hay una estructura uniforme y se utilizan formatos diversos para organizar el contenido. Aunque la mayoría de los PL estudiados utilizan una página web como base y vínculos a ficheros de otros formatos, la diversidad de los formatos y la organización es grande.

Puede concluirse que el estado actual de los PL de experimentos concretos de IS es de un nivel de detalle básico, sin una propuesta de estructura que permita unificar la presentación de su contenido.