European Conference on Object-Oriented Programming

ECOOP 2012: ECOOP 2012 – Object-Oriented Programming pp 435-458

Correlation Tracking for Points-To Analysis of JavaScript

  • Manu Sridharan
  • Julian Dolby
  • Satish Chandra
  • Max Schäfer
  • Frank Tip
Conference paper

DOI: 10.1007/978-3-642-31057-7_20

Volume 7313 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Sridharan M., Dolby J., Chandra S., Schäfer M., Tip F. (2012) Correlation Tracking for Points-To Analysis of JavaScript. In: Noble J. (eds) ECOOP 2012 – Object-Oriented Programming. ECOOP 2012. Lecture Notes in Computer Science, vol 7313. Springer, Berlin, Heidelberg

Abstract

JavaScript poses significant challenges for points-to analysis, particularly due to its flexible object model in which object properties can be created and deleted at run-time and accessed via first-class names. These features cause an increase in the worst-case running time of field-sensitive Andersen-style analysis, which becomes O(N4), where N is the program size, in contrast to the O(N3) bound for languages like Java. In practice, we found that a standard implementation of the analysis was unable to analyze popular JavaScript frameworks.

We identify correlated dynamic property accesses as a common code pattern that is analyzed very imprecisely by the standard analysis, and show how a novel correlation tracking technique enables us to handle this pattern more precisely, thereby making the analysis more scalable. In an experimental evaluation, we found that correlation tracking often dramatically improved analysis scalability and precision on popular JavaScript frameworks, though in some cases scalability challenges remain.

Keywords

Points-to analysis call graph construction JavaScript 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Manu Sridharan
    • 1
  • Julian Dolby
    • 1
  • Satish Chandra
    • 1
  • Max Schäfer
    • 1
  • Frank Tip
    • 1
  1. 1.IBM T.J. Watson Research CenterYorktown HeightsUSA