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...
Autores: | , , , |
---|---|
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).
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).