Precise and Scalable Static Analysis of jQuery using a Regular Expression Domain
jQuery is the most popular JavaScript library but the state-of-the-art static analyzers for JavaScript applications fail to analyze simple programs that use jQuery. In this paper, we present a novel abstract string domain whose elements are simple regular expressions that can represent prefix, infix, and postfix substrings of a string and even their sets. We formalize the new domain in the abstract interpretation framework with abstract models of strings and objects commonly used in the existing JavaScript analyzers. For practical use of the domain, we present polynomial-time inclusion decision rules between the regular expressions and prove that the rules exactly capture the actual inclusion relation. We have implemented the domain as an extension of the open-source JavaScript analyzer, SAFE, and we show that the extension significantly improves the scalability and precision of the baseline analyzer in analyzing programs that use jQuery.
Tue 1 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | |||
10:30 25mTalk | Type Unsoundness in Practice: An Empirical Study of Dart DLS Gianluca Mezzetti Aarhus University, Denmark, Anders Møller Aarhus University, Denmark, Fabio Strocco Aarhus University, Denmark DOI | ||
10:55 25mTalk | Type Safety Analysis for Dart DLS Thomas S. Heinze Aarhus University, Denmark, Anders Møller Aarhus University, Denmark, Fabio Strocco Aarhus University, Denmark DOI | ||
11:20 25mTalk | Precise and Scalable Static Analysis of jQuery using a Regular Expression Domain DLS Changhee Park KAIST, South Korea, Hyeonseung Im Kangwon National University, South Korea, Sukyoung Ryu KAIST, South Korea DOI | ||
11:45 25mTalk | Just-in-Time Inheritance: A Dynamic and Implicit Multiple Inheritance Mechanism DLS Mattias De Wael Vrije Universiteit Brussel, Belgium, Janwillem Swalens Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel, Belgium DOI Pre-print File Attached |