Tesis:
Proceso para la agregación de familias de experimentos en Ingeniería del Software
- Autor: RIOFRÍO OJEDA, Patricia
- Título: Proceso para la agregación de familias de experimentos en Ingeniería del Software
- Fecha: 2019
- Materia: Sin materia definida
- Escuela: E.T.S DE INGENIEROS INFORMÁTICOS
- Departamentos: LENGUAJES Y SISTEMAS INFORMATICOS E INGENIERIA DE SOFTWARE
- Acceso electrónico: http://oa.upm.es/64069/
- Director/a 1º: VEGAS HERNÁNDEZ, Sira
- Director/a 2º: JURISTO JUZGADO, Natalia
- Resumen: La Ingeniería de Software Empírica (ISE) es el área de la Ingeniería de Software (IS), cuyo objetivo consiste en la obtención de evidencia sobre los métodos, técnicas, procesos y herramientas involucrados en el desarrollo del software. Existen distintos tipos de estudios empíricos entre los que se encuentran: las encuestas, los casos de estudio y los experimentos controlados. Este trabajo se centra en los experimentos controlados (también denominados simplemente experimentos). En ISE, es bien sabido que la obtención de evidencia fiable requiere de la combinación de resultados de múltiples experimentos. Para combinar los resultados de distintos experimentos es necesario recopilar un conjunto de experimentos relacionados que investiguen la misma hipótesis para posteriormente analizar sus resultados de forma conjunta. Las familias de experimentos son un enfoque para recopilar un conjunto de experimentos relacionados. En las familias de experimentos, los investigadores tienen un conocimiento profundo sobre la configuración de cada experimento, tienen acceso a los datos recogidos en el mismo, y pueden cambiar de forma planificada y controlada la configuración experimental para dar una respuesta global a la hipótesis bajo investigación. Esta tesis se centra en cómo analizar familias de experimentos. Un proceso para analizar familias de experimentos debe contemplar: 1. La identificación precisa de todas las similitudes y diferencias entre los experimentos. 2. El establecimiento de manera sistemática de un conjunto de variables (de diseño y moderadoras) que podrían estar afectando a los resultados. 3. El análisis de los datos de la familia, teniendo en cuenta de forma simultánea todas y cada una de las variables identificadas. En un estudio de mapeo sistemático sobre cómo se analizan las familias de experimentos en IS se ha descubierto que actualmente no existe un proceso que cumpla estas características. El objetivo principal de esta tesis consiste en proponer un proceso para el análisis de familias de experimentos que resuelva las carencias encontradas. Para evaluar el proceso propuesto, se analizan dos familias de experimentos. La primera de ellas consta de 4 experimentos y estudia la efectividad relativa de distintas técnicas de evaluación de código. La segunda consta de 16 experimentos y estudia la calidad del código desarrollado utilizando desarrollo guiado por pruebas de software (TDD), frente al código desarrollado utilizando un enfoque de desarrollo tradicional. Asimismo, el estudio de mapeo sistemático arroja que la variable moderadora más estudiada en las familias de experimentos en IS es el tipo de sujeto. Sin embargo, trabajos actuales sugieren que esta variable no es la más adecuada para explicar diferencias entre los participantes. En este trabajo, se estudia la evidencia empírica actual en relación con la idoneidad del uso de la etiqueta estudiante/profesional para reflejar las diferencias entre ambos colectivos. Para ello, se realiza un nuevo mapeo sistemático sobre experimentos que utilizan ambos tipos de sujetos. ----------ABSTRACT---------- Empirical Software Engineering (ESE) is the area of Software Engineering (SE), that aims at obtaining evidence on the methods, techniques, processes and tools involved in software development. There are different types of empirical studies. The most common ones are: surveys, case studies and controlled experiments. This thesis focuses on controlled experiments (also called simply experiments). It is well known that obtaining reliable evidence in ESE requires the combination of results from multiple experiments. In order to combine that results of several experiments it is necessary to compile a set of experiments that investigate the same hypothesis, to later analyze their results jointly. Families of experiments are an approach to collect a set of related experiments. In families of experiments, the researchers have in-depth knowledge of the configuration of each experiment, have access to the data gathered and can change the experimental configuration in a planned and controlled way to give a global answer to the hypothesis under investigation. This thesis focuses on how to analyse families of experiments. A process to analyse families of experiments should encompass: 1. A precise identification of all similarities and differences between experiments. 2. Systematically determine a set of (design and moderator) variables that could be affecting the results. 3. Analyse data of the family, taking into account simultaneously all variables identified. In a systematic mapping study on how families of experiments in SE are analyzed, this thesis shows that there is currently no process with these characteristics. The main objective of this thesis is to propose a process for the analysis of families of experiments that addresses shortcomings found in the state of the practice/art. To evaluate the proposed process, two families of experiments are analysed. The first one consists of 4 experiments and studies the relative effectiveness of different code evaluation techniques. The second consists of 16 experiments and studies the quality of the code developed using Test-Driven Development (TDD), compared to the code developed using a traditional development approach. Likewise, the systematic mapping study shows that the most studied moderator variable in the families of experiments reported in SE is the subject type. However, current research suggests that this variable is not the most appropriate one to explain differences between subjects. This work studies current empirical evidence on the suitability of the use of the student / professional label to reflect the differences between both groups of subjects. For this, a new systematic mapping review is performed about experiments that use both subject types.