Abstract
Many static analyzers exploit sparseness techniques to reduce the amount of information being propagated and stored during analysis. Although several variations are described in the literature, no existing technique is suitable for analyzing JavaScript code. In this paper, we point out the need for a sparse analysis framework that supports pointers and reachability. We present such a framework, which uses static single assignment form for heap addresses and computes def-use information on-the-fly. We also show that essential information about dominating definitions can be maintained efficiently using quadtrees. The framework is presented as a systematic modification of a traditional dataflow analysis algorithm.
Our experimental results demonstrate the effectiveness of the technique for a suite of JavaScript programs. By also comparing the performance with an idealized staged approach that computes pointer information with a pre-analysis, we show that the cost of computing def-use information on-the-fly is remarkably small.
Our experimental results demonstrate the effectiveness of the technique for a suite of JavaScript programs. By also comparing the performance with an idealized staged approach that computes pointer information with a pre-analysis, we show that the cost of computing def-use information on-the-fly is remarkably small.
Original language | English |
---|---|
Title of host publication | Static Analysis : 21st International Symposium, SAS 2014, Munich, Germany, September 11-13, 2014. Proceedings |
Editors | Markus Müller-Olm , Helmut Seidl |
Number of pages | 18 |
Publisher | Springer VS |
Publication date | 2014 |
Pages | 201-218 |
ISBN (Print) | 978-3-319-10935-0 |
ISBN (Electronic) | 978-3-319-10936-7 |
DOIs | |
Publication status | Published - 2014 |
Event | International Static Analysis Symposium (SAS) - Munich, Germany Duration: 11 Sept 2014 → 13 Sept 2014 |
Conference
Conference | International Static Analysis Symposium (SAS) |
---|---|
Country/Territory | Germany |
City | Munich |
Period | 11/09/2014 → 13/09/2014 |
Series | Lecture Notes in Computer Science |
---|---|
Volume | 8723 |
ISSN | 0302-9743 |