Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/38478

Compartilhe esta página

Título: Leveraging diversity to find bugs in JavaScript engines
Autor(es): LIMA, Igor Simões de Oliveira
Palavras-chave: Engenharia de software; JavaScript
Data do documento: 17-Jan-2020
Editor: Universidade Federal de Pernambuco
Citação: LIMA, Igor Simões de Oliveira. Leveraging diversity to find bugs in JavaScript engines. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2020.
Abstract: JavaScript is a very popular programming language today with several implementations competing for market dominance. Although a specification document and a conformance test suite exist to guide engine development, bugs occur and have important practical consequences. This work evaluates the importance of different techniques to find functional bugs in JavaScript engines. For that, we explored two existing techniques—test transplantation and cross-engine differential testing. The first technique runs test suites of a given engine in another engine. The second technique fuzzes existing inputs and then compares the output produced by different engines with a differential oracle. We considered engines from four major players in our experiments–V8, SpiderMonkey, ChakraCore, and JavaScriptCore. We present a tool capable of running tests on any javascript engine and obtaining reports based on the test output. It was possible to run the four engines in a test suite extracted from open-source projects, using the two techniques mentioned and we analyzed the behavior of each engine, classifying the output as a bug or not. The results indicate that both techniques revealed several bugs, many of which confirmed by developers. Overall, we reported 50 bugs in this study. Of which, 36 were confirmed by developers and 29 were fixed. To sum, our results show that the techniques are easy to apply and very effective in finding bugs in complex software, such as JavaScript engines.
URI: https://repositorio.ufpe.br/handle/123456789/38478
Aparece nas coleções:Dissertações de Mestrado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO Igor Simões de Oliveira Lima.pdf1,2 MBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons