License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2015.712
URN: urn:nbn:de:0030-drops-52446
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2015/5244/
Wei, Shiyi ;
Ryder, Barbara G.
Adaptive Context-sensitive Analysis for JavaScript
Abstract
Context sensitivity is a technique to improve program analysis precision by distinguishing between function calls. A specific context-sensitive analysis is usually designed to accommodate the programming paradigm of a particular programming language. JavaScript features both the object-oriented and functional programming paradigms. Our empirical study suggests that there is no single context-sensitive analysis that always produces precise results for JavaScript applications. This observation motivated us to design an adaptive analysis, selecting a context-sensitive analysis from multiple choices for each function. Our two-staged adaptive context-sensitive analysis first extracts function characteristics from an inexpensive points-to analysis and then chooses a specialized context-sensitive analysis per function based on the heuristics. The experimental results show that our adaptive analysis achieved more precise results than any single context-sensitive analysis for several JavaScript programs in the benchmarks.
BibTeX - Entry
@InProceedings{wei_et_al:LIPIcs:2015:5244,
author = {Shiyi Wei and Barbara G. Ryder},
title = {{Adaptive Context-sensitive Analysis for JavaScript}},
booktitle = {29th European Conference on Object-Oriented Programming (ECOOP 2015)},
pages = {712--734},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-86-6},
ISSN = {1868-8969},
year = {2015},
volume = {37},
editor = {John Tang Boyland},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2015/5244},
URN = {urn:nbn:de:0030-drops-52446},
doi = {10.4230/LIPIcs.ECOOP.2015.712},
annote = {Keywords: Context Sensitivity, JavaScript, Static Program Analysis}
}
Keywords: |
|
Context Sensitivity, JavaScript, Static Program Analysis |
Collection: |
|
29th European Conference on Object-Oriented Programming (ECOOP 2015) |
Issue Date: |
|
2015 |
Date of publication: |
|
29.06.2015 |