Mutode :generic javascript and node.js mutation testing tool
Mutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the applications test suite to identify if the mutants are detected (killed) or not (survived) by the tests. Although...
- Autores:
-
Rodríguez Baquero, Diego
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2018
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/40307
- Acceso en línea:
- http://hdl.handle.net/1992/40307
- Palabra clave:
- Pruebas de mutación de programas para computador
JavaScript (Lenguaje de programación de computadores)
Ingeniería de software
Ingeniería
- Rights
- openAccess
- License
- http://creativecommons.org/licenses/by-nc-nd/4.0/
id |
UNIANDES2_8d2d34c3601414c0e64653514663ebef |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/40307 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.es_CO.fl_str_mv |
Mutode :generic javascript and node.js mutation testing tool |
title |
Mutode :generic javascript and node.js mutation testing tool |
spellingShingle |
Mutode :generic javascript and node.js mutation testing tool Pruebas de mutación de programas para computador JavaScript (Lenguaje de programación de computadores) Ingeniería de software Ingeniería |
title_short |
Mutode :generic javascript and node.js mutation testing tool |
title_full |
Mutode :generic javascript and node.js mutation testing tool |
title_fullStr |
Mutode :generic javascript and node.js mutation testing tool |
title_full_unstemmed |
Mutode :generic javascript and node.js mutation testing tool |
title_sort |
Mutode :generic javascript and node.js mutation testing tool |
dc.creator.fl_str_mv |
Rodríguez Baquero, Diego |
dc.contributor.advisor.none.fl_str_mv |
Linares Vásquez, Mario |
dc.contributor.author.none.fl_str_mv |
Rodríguez Baquero, Diego |
dc.subject.keyword.es_CO.fl_str_mv |
Pruebas de mutación de programas para computador JavaScript (Lenguaje de programación de computadores) Ingeniería de software |
topic |
Pruebas de mutación de programas para computador JavaScript (Lenguaje de programación de computadores) Ingeniería de software Ingeniería |
dc.subject.themes.none.fl_str_mv |
Ingeniería |
description |
Mutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the applications test suite to identify if the mutants are detected (killed) or not (survived) by the tests. Although computationally expensive, it has proven to be an effective method to assess application test suites. Several mutation testing frameworks and tools have been built for the various programing languages, however, very few tools have been built for the JavaScript language, more specifically, there is a lack of mutation testing tools for the Node.js runtime and npm based applications. The npm Registry is a public collection of modules of open-source code for Node.js, front-end web applications, mobile applications, robots, routers, and countless other needs of the JavaScript community. The over 700,000 packages hosted in npm are downloaded more than 5 billion times per week. More and more software is published in npm every day, representing a huge opportunity to share code and solutions, but also to share bugs and faulty software. In this thesis, I describe prior work for mutation operators in JavaScript and Node.js, and propose Mutode, an open source tool which leverages the npm package ecosystem to perform mutation testing for JavaScript and Node.js applications. Finally, I empirically evaluated Mutode effectiveness by running it on the top 20 npm modules that have automated test suites |
publishDate |
2018 |
dc.date.issued.none.fl_str_mv |
2018 |
dc.date.accessioned.none.fl_str_mv |
2020-06-10T17:04:22Z |
dc.date.available.none.fl_str_mv |
2020-06-10T17:04:22Z |
dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/1992/40307 |
dc.identifier.pdf.none.fl_str_mv |
u808159.pdf |
dc.identifier.instname.spa.fl_str_mv |
instname:Universidad de los Andes |
dc.identifier.reponame.spa.fl_str_mv |
reponame:Repositorio Institucional Séneca |
dc.identifier.repourl.spa.fl_str_mv |
repourl:https://repositorio.uniandes.edu.co/ |
url |
http://hdl.handle.net/1992/40307 |
identifier_str_mv |
u808159.pdf instname:Universidad de los Andes reponame:Repositorio Institucional Séneca repourl:https://repositorio.uniandes.edu.co/ |
dc.language.iso.es_CO.fl_str_mv |
eng |
language |
eng |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.coar.spa.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.es_CO.fl_str_mv |
60 hojas |
dc.format.mimetype.es_CO.fl_str_mv |
application/pdf |
dc.publisher.es_CO.fl_str_mv |
Uniandes |
dc.publisher.program.es_CO.fl_str_mv |
Ingeniería de Sistemas y Computación |
dc.publisher.faculty.es_CO.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.es_CO.fl_str_mv |
Departamento de Ingeniería de Sistemas y Computación |
dc.source.es_CO.fl_str_mv |
instname:Universidad de los Andes reponame:Repositorio Institucional Séneca |
instname_str |
Universidad de los Andes |
institution |
Universidad de los Andes |
reponame_str |
Repositorio Institucional Séneca |
collection |
Repositorio Institucional Séneca |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/87bac3a8-9704-436f-b3fa-9b954a2f1fd7/download https://repositorio.uniandes.edu.co/bitstreams/dbfb11fd-361c-4552-8676-e8cf69cef294/download https://repositorio.uniandes.edu.co/bitstreams/a7ebb85a-28f4-4e9c-80aa-b7e225507a97/download |
bitstream.checksum.fl_str_mv |
4986ff59cd1dd750f39d8d3cb3bea167 973db8e7a090079a49486d2c926095e2 1f6a3ee83dcf82df7af64d3ebc8a49c8 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio institucional Séneca |
repository.mail.fl_str_mv |
adminrepositorio@uniandes.edu.co |
_version_ |
1812133821484630016 |
spelling |
Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autores.http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Linares Vásquez, Mariovirtual::1808-1Rodríguez Baquero, Diegoc7d77066-4cc2-4db3-97c9-c16fd3a8d0d45002020-06-10T17:04:22Z2020-06-10T17:04:22Z2018http://hdl.handle.net/1992/40307u808159.pdfinstname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Mutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the applications test suite to identify if the mutants are detected (killed) or not (survived) by the tests. Although computationally expensive, it has proven to be an effective method to assess application test suites. Several mutation testing frameworks and tools have been built for the various programing languages, however, very few tools have been built for the JavaScript language, more specifically, there is a lack of mutation testing tools for the Node.js runtime and npm based applications. The npm Registry is a public collection of modules of open-source code for Node.js, front-end web applications, mobile applications, robots, routers, and countless other needs of the JavaScript community. The over 700,000 packages hosted in npm are downloaded more than 5 billion times per week. More and more software is published in npm every day, representing a huge opportunity to share code and solutions, but also to share bugs and faulty software. In this thesis, I describe prior work for mutation operators in JavaScript and Node.js, and propose Mutode, an open source tool which leverages the npm package ecosystem to perform mutation testing for JavaScript and Node.js applications. Finally, I empirically evaluated Mutode effectiveness by running it on the top 20 npm modules that have automated test suitesLas pruebas de mutación son un técnica en la que fallas (mutantes), son inyectadas en un programa o aplicación para evaluar la efectividad de su suite de pruebas. Funciona insertando mutantes y corriendo la suite de pruebas de la aplicación, verificando si el mutante fue detectado (matado), o no (sobreviviente), por la pruebas. Aunque es computacionalmente costoso, ha demostrado ser un método efectivo para evaluar la suite de pruebas de una aplicación. Varias herramientas y frameworks se han construído para los diferentes lenguajes de programación. Sin embargo, muy pocas herramientas se han construído para el lenguaje JavaScript, más específicamente, hay una falta de herramientas de pruebas de mutación para Node.js y aplicaciones basadas en npm. El repositorio de npm es una colección pública de módulos de código abierto para Node.js, aplicaciones web, aplicaciones móviles, robots, routers, y muchas otras necesidades de la comunidad de JavaScript. Los más de 700.000 módulos alojados en npm son descargados más de cinco mil millones de veces por semana. Más y más software es publicado en npm cada día, representando una inmensa oportunidad para compartir código y soluciones, pero también para compartir errores y fallas de software. En esta tesis, describo trabajo relacionado de operadores de mutación en JavaScript y Node.js, y propongo \tool, una herramienta de código abierto que aprovecha el ecosistema de paquetes de npm para realizar pruebas de mutación en aplicaciones de JavaScript y Node.js. Finalmente, evalúo empíricamente la efectividad de \toolsp ejecutándolo sobre los 20 módulos con más dependientes de npm, que tengan pruebas automáticasIngeniero de Sistemas y ComputaciónPregrado60 hojasapplication/pdfengUniandesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y Computacióninstname:Universidad de los Andesreponame:Repositorio Institucional SénecaMutode :generic javascript and node.js mutation testing toolTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttp://purl.org/coar/version/c_970fb48d4fbd8a85Texthttp://purl.org/redcol/resource_type/TPPruebas de mutación de programas para computadorJavaScript (Lenguaje de programación de computadores)Ingeniería de softwareIngenieríaPublicationhttps://scholar.google.es/citations?user=55fmMcoAAAAJvirtual::1808-10000-0003-0161-2888virtual::1808-10cbe51ff-e35a-4c3a-ad77-609b3cdfc9b2virtual::1808-10cbe51ff-e35a-4c3a-ad77-609b3cdfc9b2virtual::1808-1TEXTu808159.pdf.txtu808159.pdf.txtExtracted texttext/plain66667https://repositorio.uniandes.edu.co/bitstreams/87bac3a8-9704-436f-b3fa-9b954a2f1fd7/download4986ff59cd1dd750f39d8d3cb3bea167MD54ORIGINALu808159.pdfapplication/pdf448414https://repositorio.uniandes.edu.co/bitstreams/dbfb11fd-361c-4552-8676-e8cf69cef294/download973db8e7a090079a49486d2c926095e2MD51THUMBNAILu808159.pdf.jpgu808159.pdf.jpgIM Thumbnailimage/jpeg2822https://repositorio.uniandes.edu.co/bitstreams/a7ebb85a-28f4-4e9c-80aa-b7e225507a97/download1f6a3ee83dcf82df7af64d3ebc8a49c8MD551992/40307oai:repositorio.uniandes.edu.co:1992/403072024-03-13 12:03:01.831http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.co |