Search-Based Test Data Generation for JavaScript Functions that Interact with the DOM

The popularity of JavaScript (JS) is enormous. Together with HTML and CSS, it is the core technology for modern web development. Because of the dynamic nature and complex interplay with HTML, JS applications are often error-prone and vulnerable. Despite active research efforts to devise intricate st...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE) s. 88 - 99
Hlavní autoři: Elyasov, Alexander, Prasetya, I.S.W.B., Hage, Jurriaan
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 01.10.2018
Témata:
ISSN:2332-6549
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:The popularity of JavaScript (JS) is enormous. Together with HTML and CSS, it is the core technology for modern web development. Because of the dynamic nature and complex interplay with HTML, JS applications are often error-prone and vulnerable. Despite active research efforts to devise intricate static and dynamic analyses to facilitate JS testing, the problem of test data generation for JS code interacting with the DOM has not yet been addressed. In this paper, we present a Javascript Evolutionary testing framework with DOM as an Input, called JEDI. In order to reach a target branch, it applies genetic search for relevant input parameters of the JS function in combination with the global DOM state. We conducted an empirical evaluation to study the effectiveness and efficiency of our testing framework. It shows that the genetic with restart algorithm, proposed in this paper, is able to achieve complete branch coverage for all experimental subjects, taking on average 19 seconds per branch.
ISSN:2332-6549
DOI:10.1109/ISSRE.2018.00020