Heuristics Applied to Mutation Testing in an Impure Functional Programming Language

Descripción del Articulo

The task of elaborating accurate test suites for program testing can be an extensive computational work. Mutation testing is not immune to the problem of being a computational and time-consuming task so that it has found relief in the use of heuristic techniques. The use of Genetic Algorithms in mut...

Descripción completa

Detalles Bibliográficos
Autores: Gutiérrez Cárdenas, Juan Manuel, Quintana Cruz, Hernán Alejandro, Mego Fernandez, Diego, Diaz Baskakov, Serguei
Formato: artículo
Fecha de Publicación:2019
Institución:Universidad de Lima
Repositorio:ULIMA-Institucional
Lenguaje:español
OAI Identifier:oai:repositorio.ulima.edu.pe:20.500.12724/9173
Enlace del recurso:https://hdl.handle.net/20.500.12724/9173
https://dx.doi.org/10.14569/IJACSA.2019.0100670
Nivel de acceso:acceso abierto
Materia:Functional programming (Computer science)
Heuristic programming
Programación funcional (Informática)
Programación heurística
Descripción
Sumario:The task of elaborating accurate test suites for program testing can be an extensive computational work. Mutation testing is not immune to the problem of being a computational and time-consuming task so that it has found relief in the use of heuristic techniques. The use of Genetic Algorithms in mutation testing has proved to be useful for probing test suites, but it has mainly been enclosed only in the field of imperative programming paradigms. Therefore, we decided to test the feasibility of using Genetic Algorithms for performing mutation testing in functional programming environments. We tested our proposal by making a graph representations of four different functional programs and applied a Genetic Algorithm to generate a population of mutant programs. We found that it is possible to obtain a set of mutants that could find flaws in test suites in functional programming languages. Additionally, we encountered that when a source code increases its number of instructions it was simpler for a genetic algorithm to find a mutant that can avoid all of the test cases.
Nota importante:
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).