JSAI swMATH ID: 30521 Software Authors: Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf Description: JSAI: Designing a Sound, Configurable, and Efficient Static Analyzer for JavaScript. We describe JSAI, an abstract interpreter for JavaScript. JSAI uses novel abstract domains to compute a reduced product of type inference, pointer analysis, string analysis, integer and boolean constant propagation, and control-flow analysis. In addition, JSAI allows for analysis control-flow sensitivity (i.e., context-, path-, and heap-sensitivity) to be modularly configured without requiring any changes to the analysis implementation. JSAI is designed to be provably sound with respect to a specific concrete semantics for JavaScript, which has been extensively tested against existing production-quality JavaScript implementations. We provide a comprehensive evaluation of JSAI’s performance and precision using an extensive benchmark suite. This benchmark suite includes real-world JavaScript applications, machine-generated JavaScript code via Emscripten, and browser addons. We use JSAI’s configurability to evaluate a large number of analysis sensitivities (some well-known, some novel) and observe some surprising results. We believe that JSAI’s configurability and its formal specifications position it as a useful research platform to experiment on novel sensitivities, abstract domains, and client analyses for JavaScript. Homepage: https://arxiv.org/abs/1403.3996 Source Code: https://github.com/nystrom/jsai Dependencies: JavaScript Keywords: Programming Languages; arXiv_cs.PL; JavaScript; Static Analyzer; JSAI Related Software: JavaScript; Phantm; Norn; Node.js; PPL; ast; GATEKEEPER; Synode; Judge; WALA; Soot; pycallgraph; SAFEWAPI; Paramiko; PyYAML; npm; Depends; Callgrind; code2graph; Pyan3 Cited in: 5 Publications Standard Articles 1 Publication describing the Software Year JSAI: Designing a Sound, Configurable, and Efficient Static Analyzer for JavaScript Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf 2014 all top 5 Cited by 12 Authors 4 Arceri, Vincenzo 3 Cortesi, Agostino 3 Olliaro, Martina 2 Mastroeni, Isabella 1 Amadini, Roberto 1 Andrlon, Mak 1 Ferrara, Pietro 1 Gange, Graeme 1 Maffeis, Sergio 1 Schachte, Peter 1 Søndergaard, Harald 1 Stuckey, Peter James Cited in 1 Serial 1 Information and Computation Cited in 2 Fields 5 Computer science (68-XX) 1 Operations research, mathematical programming (90-XX) Citations by Year