Determinacy in Static Analysis of jQuery

Esben Andreasen, Anders Møller

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

84 Citations (Scopus)

Abstract

Static analysis for JavaScript can potentially help programmers find errors early during development. Although much progress has been made on analysis techniques, a major obstacle is the prevalence of libraries, in particular jQuery, which apply programming patterns that have detrimental consequences on the analysis precision and performance.

Previous work on dynamic determinacy analysis has demonstrated how information about program expressions that always resolve to a fixed value in some call context may lead to significant scalability improvements of static analysis for such code. We present a static dataflow analysis for JavaScript that infers and exploits determinacy information on-the-fly, to enable analysis of some of the most complex parts of jQuery.

The techniques are implemented in the TAJS analysis tool and evaluated on a collection of small programs that use jQuery. Our results show that the proposed analysis techniques boost both precision and performance, specifically for inferring type information and call graphs.
Original languageEnglish
Title of host publicationProceedings of the ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA '14
EditorsAndrew Black, Todd Millstein
Number of pages15
PublisherAssociation for Computing Machinery
Publication date2014
Pages17-31
ISBN (Print)978-1-4503-2585-1
DOIs
Publication statusPublished - 2014
EventACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA) - Portland, United States
Duration: 20 Oct 201425 Oct 2014

Conference

ConferenceACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA)
Country/TerritoryUnited States
CityPortland
Period20/10/201425/10/2014

Fingerprint

Dive into the research topics of 'Determinacy in Static Analysis of jQuery'. Together they form a unique fingerprint.
  • Determinacy in static analysis for jQuery

    Andreasen, E. S. (Lecturer)

    20 Aug 2015

    Activity: Presentations, memberships, ownership and other activitiesLecture and oral contribution

  • Determinacy in Static Analysis of jQuery

    Andreasen, E. S. (Lecturer)

    22 Oct 2014

    Activity: Presentations, memberships, ownership and other activitiesLecture and oral contribution

  • OOPSLA

    Andreasen, E. S. (Participant)

    20 Oct 201424 Oct 2014

    Activity: Participating in or organising an event typesParticipation in or organisation of workshop, seminar or course

Cite this