Resumen:
Durante los 70, Mutation Testing surgio como una tecnica para medir la efectividad de un conjunto de tests. La misma consiste en mutar el codigo fuente del programa que esta siendo probado para modificar su comportamiento y verificar si los tests “matan” a estos mutantes. Los mutantes que sobreviven son entonces el punto de partida para mejorar o extender la suite de tests. Sin embargo, esta es, en principio, una tecnica de “fuerza bruta” por lo que su utilizacion ha quedado relegada debido a sus excesivos tiempos de respuesta. Este problema, sumado a la carencia de herramientas adecuadas, han impedido en la practica su uso masivo. En este trabajo se implemento un set de herramientas para realizar Mutation Testing en Smalltalk, un ambiente reflexivo y dinamico con definicion meta-circular. Aprovechando estas caracterısticas, se pudo llevar a cabo una implementacion simple y eficiente, contando con la ventaja adicional de no requerirse grandes tiempos de compilacion y enlace para la generacion de mutantes, como suele suceder en ambientes estaticos. A lo largo de esta investigacion se lograron tres resultados. En primer lugar, reducir considerablemente el tiempo de ejecucion de la tecnica. Para lograrlo, se crearon diferentes estrategias que utilizan informacion obtenida de un analisis previo de Code Coverage. En segundo lugar, se implementaron herramientas integradas al resto del ambiente de desarrollo, preparadas para realizar analisis rapidos y agiles, de porciones o de la totalidad del programa, y facilitando su uso en conjunto con el proceso de desarrollo. Por ultimo, se definio y utilizo una heurıstica para definir operadores de mutacion que brinden informacion mas precisa para mejorar la calidad de los tests.
Abstract:
During the ’70s, Mutation Testing emerged as a technique to assess the fault-finding effectiveness of a test suite. This technique mutates the source code of the program being tested in order to change its behavior, and verifies whether the tests “kill” those mutants or not. The surviving mutants are then the starting point to improve or extend the test suite. However, since it is, in principle, a “brute force” technique, its use has been relegated due to its excessive response times. This issue, along with the lack of adequate tools, has greatly hindered its widespread use. In this research, a set of tools was implemented to run Mutation Testing in Smalltalk, a reflexive and dynamic environment with meta-circular definition. Using these environment features to our advantage,a simple and efficient implementation was achieved, with the additional advantage of not requiring long compilation and linking times for the generation of mutants, as is frequently the case with static environments. Three results were obtained throughout this research. Firstly, the execution time of the technique was reduced. In order to achieve this goal, different strategies, that use information obtained from a previous Code Coverage analysis, were created.Next, integrated tools were implemented in the development environment, which are ready to perform quick analyses of the whole program or portions of it, and facilitate its use in conjunction with the development process. Lastly, a heuristic was established and used to define mutation operators that provide more accurate information to improve the quality of the tests.
Citación:
---------- APA ----------
Brunstein, Gabriel; Chillo, Nicolás Agustín. (2010). Implementación y análisis de la técnica de mutation testing en ambientes de objetos dinámicos y reflexivos. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/seminario_nCOM000387_BrunsteinChillo
---------- CHICAGO ----------
Brunstein, Gabriel; Chillo, Nicolás Agustín. "Implementación y análisis de la técnica de mutation testing en ambientes de objetos dinámicos y reflexivos". Tesis de Grado, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales, 2010.https://hdl.handle.net/20.500.12110/seminario_nCOM000387_BrunsteinChillo
Estadísticas:
Descargas mensuales
Total de descargas desde :
https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000387_BrunsteinChillo.pdf
Distrubución geográfica