Heuristics applied to mutation testing in an impure functional programming language

Juan Gutiérrez-Cárdenas, Hernan Quintana-Cruz, Diego Mego-Fernandez, Serguei Diaz-Baskakov

Research output: Contribution to journalArticle (Contribution to Journal)

Abstract

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.

Original languageEnglish
Pages (from-to)538-548
Number of pages11
JournalInternational Journal of Advanced Computer Science and Applications
Volume10
Issue number6
DOIs
StatePublished - 1 Jan 2019

Keywords

  • Functional programming
  • Heuristics
  • Mutation testing

Fingerprint Dive into the research topics of 'Heuristics applied to mutation testing in an impure functional programming language'. Together they form a unique fingerprint.

  • Cite this