Title
Combining String Abstract Domains For Javascript Analysis: An Evaluation
Abstract
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features such as the eval function and dynamic property access, precise string analysis is a prerequisite for automated reasoning about practically any kind of runtime property. Although the literature presents a considerable number of abstract domains for capturing and representing specific aspects of strings, we are not aware of tools that allow flexible combination of string abstract domains. Indeed, support for string analysis is often confined to a single, dedicated string domain. In this paper we describe a framework that allows us to combine multiple string abstract domains for the analysis of JavaScript programs. It is implemented as an extension of SAFE, an open-source static analysis tool. We investigate different combinations of abstract domains that capture various aspects of strings. Our evaluation suggests that a combination of a few, simple abstract domains suffice to outperform the precision of state-of-the-art static analysis tools for JavaScript.
Year
DOI
Venue
2017
10.1007/978-3-662-54577-5_3
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I
Field
DocType
Volume
Automated reasoning,Static program analysis,Regular expression,Programming language,Control flow graph,Computer science,Static analysis,Abstract syntax tree,Theoretical computer science,Scripting language,JavaScript
Conference
10205
ISSN
Citations 
PageRank 
0302-9743
2
0.38
References 
Authors
13
8
Name
Order
Citations
PageRank
Roberto Amadini17013.45
Alexander Jordan221.06
Graeme Gange313724.27
Francois Gauthier4285.57
Peter Schachte525622.76
Harald Søndergaard685879.52
Peter J. Stuckey74368457.58
Chenyi Zhang820.38