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
id RULI_0a0d2beaf6cdb3929ad9e4b5f98f51cb
oai_identifier_str oai:repositorio.ulima.edu.pe:20.500.12724/9173
network_acronym_str RULI
network_name_str ULIMA-Institucional
repository_id_str 3883
dc.title.en_EN.fl_str_mv Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
title Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
spellingShingle Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
Gutiérrez Cárdenas, Juan Manuel
Functional programming (Computer science)
Heuristic programming
Programación funcional (Informática)
Programación heurística
title_short Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
title_full Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
title_fullStr Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
title_full_unstemmed Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
title_sort Heuristics Applied to Mutation Testing in an Impure Functional Programming Language
author Gutiérrez Cárdenas, Juan Manuel
author_facet Gutiérrez Cárdenas, Juan Manuel
Quintana Cruz, Hernán Alejandro
Mego Fernandez, Diego
Diaz Baskakov, Serguei
author_role author
author2 Quintana Cruz, Hernán Alejandro
Mego Fernandez, Diego
Diaz Baskakov, Serguei
author2_role author
author
author
dc.contributor.other.none.fl_str_mv Gutiérrez Cárdenas, Juan Manuel
Quintana Cruz, Hernán Alejandro
Mego Fernandez, Diego
Diaz Baskakov, Serguei
dc.contributor.author.fl_str_mv Gutiérrez Cárdenas, Juan Manuel
Quintana Cruz, Hernán Alejandro
Mego Fernandez, Diego
Diaz Baskakov, Serguei
dc.subject.en_EN.fl_str_mv Functional programming (Computer science)
Heuristic programming
topic Functional programming (Computer science)
Heuristic programming
Programación funcional (Informática)
Programación heurística
dc.subject.es_PE.fl_str_mv Programación funcional (Informática)
Programación heurística
description 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.
publishDate 2019
dc.date.accessioned.none.fl_str_mv 2019-09-30T14:34:13Z
dc.date.available.none.fl_str_mv 2019-09-30T14:34:13Z
dc.date.issued.fl_str_mv 2019
dc.type.none.fl_str_mv info:eu-repo/semantics/article
dc.type.other.none.fl_str_mv Artículo en Scopus
format article
dc.identifier.citation.es_PE.fl_str_mv Gutiérrez-Cárdenas, J., Quintana-Cruz, H., Mego-Fernandez, D., & Diaz-Baskakov, S. (2019). Heuristics Applied to Mutation Testing in an Impure Functional Programming Language. International Journal of Advanced Computer Science and Applications, 10(6), 538-548. http://dx.doi.org/10.14569/IJACSA.2019.0100670
dc.identifier.issn.none.fl_str_mv 2156-5570
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12724/9173
dc.identifier.journal.none.fl_str_mv International Journal of Advanced Computer Science and Applications
dc.identifier.isni.none.fl_str_mv 0000000121541816
dc.identifier.doi.none.fl_str_mv https://dx.doi.org/10.14569/IJACSA.2019.0100670
dc.identifier.scopusid.none.fl_str_mv 2-s2.0-85070527479
identifier_str_mv Gutiérrez-Cárdenas, J., Quintana-Cruz, H., Mego-Fernandez, D., & Diaz-Baskakov, S. (2019). Heuristics Applied to Mutation Testing in an Impure Functional Programming Language. International Journal of Advanced Computer Science and Applications, 10(6), 538-548. http://dx.doi.org/10.14569/IJACSA.2019.0100670
2156-5570
International Journal of Advanced Computer Science and Applications
0000000121541816
2-s2.0-85070527479
url https://hdl.handle.net/20.500.12724/9173
https://dx.doi.org/10.14569/IJACSA.2019.0100670
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.ispartof.none.fl_str_mv urn:issn:2158-107X
dc.rights.*.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.uri.*.fl_str_mv https://creativecommons.org/licenses/by-nc-sa/4.0/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/4.0/
dc.format.none.fl_str_mv application/html
dc.publisher.none.fl_str_mv Science and Information Organization
dc.publisher.country.none.fl_str_mv UK
publisher.none.fl_str_mv Science and Information Organization
dc.source.none.fl_str_mv Repositorio Institucional - Ulima
Universidad de Lima
reponame:ULIMA-Institucional
instname:Universidad de Lima
instacron:ULIMA
instname_str Universidad de Lima
instacron_str ULIMA
institution ULIMA
reponame_str ULIMA-Institucional
collection ULIMA-Institucional
bitstream.url.fl_str_mv https://repositorio.ulima.edu.pe/bitstream/20.500.12724/9173/3/license.txt
https://repositorio.ulima.edu.pe/bitstream/20.500.12724/9173/2/license_rdf
bitstream.checksum.fl_str_mv 8a4605be74aa9ea9d79846c1fba20a33
5a4ffbc01f1b5eb70a835dac0d501661
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Universidad de Lima
repository.mail.fl_str_mv repositorio@ulima.edu.pe
_version_ 1845977345404436480
spelling Gutiérrez Cárdenas, Juan ManuelQuintana Cruz, Hernán AlejandroMego Fernandez, DiegoDiaz Baskakov, SergueiGutiérrez Cárdenas, Juan ManuelQuintana Cruz, Hernán AlejandroMego Fernandez, DiegoDiaz Baskakov, Serguei2019-09-30T14:34:13Z2019-09-30T14:34:13Z2019Gutiérrez-Cárdenas, J., Quintana-Cruz, H., Mego-Fernandez, D., & Diaz-Baskakov, S. (2019). Heuristics Applied to Mutation Testing in an Impure Functional Programming Language. International Journal of Advanced Computer Science and Applications, 10(6), 538-548. http://dx.doi.org/10.14569/IJACSA.2019.01006702156-5570https://hdl.handle.net/20.500.12724/9173International Journal of Advanced Computer Science and Applications0000000121541816https://dx.doi.org/10.14569/IJACSA.2019.01006702-s2.0-85070527479The 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.application/htmlspaScience and Information OrganizationUKurn:issn:2158-107Xinfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/4.0/Repositorio Institucional - UlimaUniversidad de Limareponame:ULIMA-Institucionalinstname:Universidad de Limainstacron:ULIMAFunctional programming (Computer science)Heuristic programmingProgramación funcional (Informática)Programación heurísticaHeuristics Applied to Mutation Testing in an Impure Functional Programming Languageinfo:eu-repo/semantics/articleArtículo en ScopusGutiérrez Cárdenas, Juan Manuel (Carrera de Ingeniería de Sistemas, Universidad de Lima)Quintana Cruz, Hernán Alejandro (Carrera de Ingeniería de Sistemas, Universidad de Lima)Mego Fernandez, Diego (Carrera de Ingeniería de Sistemas, Universidad de Lima)Diaz Baskakov, Serguei (Carrera de Ingeniería de Sistemas, Universidad de Lima)OILICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ulima.edu.pe/bitstream/20.500.12724/9173/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.ulima.edu.pe/bitstream/20.500.12724/9173/2/license_rdf5a4ffbc01f1b5eb70a835dac0d501661MD5220.500.12724/9173oai:repositorio.ulima.edu.pe:20.500.12724/91732025-03-06 19:40:01.797Repositorio Universidad de Limarepositorio@ulima.edu.peTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=
score 12.989271
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).