Applying Evolutionary Techniques to Debug Functional Programs
Selecting an appropriate test suite to detect faults in a program is a difficult task. In the case of functional languages, altough there are some additional difficulties (due to the lack of state, laziness and its higher-order nature), we can also take advantage of higher-order programming to allow defining generic ways of obtaining tests. In this paper we present a genetic algorithm to automatically select appropriate criteria to generate tests for Haskell programs. As a case study, we apply the algorithm to deal with a program using red-black trees.
KeywordsGenetic Algorithm Test Suite Functional Program System Under Test Functional Language
Unable to display preview. Download preview PDF.
- 3.Davis, L. (ed.): Handbook of Genetic Algorithms. Van Nostrand Reinhold (1991)Google Scholar
- 8.Peyton Jones, S.L., Hughes, J.: Report on the programming language Haskell 98. Technical report (February 1999), http://www.haskell.org
- 12.Rothlauf, F., Goldberg, D.E.: Representations for Genetic and Evolutionary Algorithms. Physica-Verlag (2006)Google Scholar