Automatically deriving JavaScript static analyzers from specifications using Meta-level static analysis

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 75
  • Download : 0
DC FieldValueLanguage
dc.contributor.authorPark, Jihyeokko
dc.contributor.authorAn, Seungminko
dc.contributor.authorRyu, Sukyoungko
dc.date.accessioned2022-11-15T07:01:31Z-
dc.date.available2022-11-15T07:01:31Z-
dc.date.created2022-11-13-
dc.date.issued2022-11-14-
dc.identifier.citationESEC/FSE '22: 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp.1022 - 1034-
dc.identifier.urihttp://hdl.handle.net/10203/299649-
dc.description.abstractJavaScript is one of the most dominant programming languages. However, despite its popularity, it is a challenging task to correctly understand the behaviors of JavaScript programs because of their highly dynamic nature. Researchers have developed various static analyzers that strive to conform to ECMA-262, the standard specification of JavaScript. Unfortunately, all the existing JavaScript static analyzers require manual updates for new language features. This problem has become more critical since 2015 because the JavaScript language itself rapidly evolves with a yearly release cadence and open development process. In this paper, we present JSAVER, the first tool that automatically derives JavaScript static analyzers from language specifications. The main idea of our approach is to extract a definitional interpreter from ECMA-262 and perform a meta-level static analysis with the extracted interpreter. A meta-level static analysis is a novel technique that indirectly analyzes programs by analyzing a definitional interpreter with the programs. We also describe how to indirectly configure abstract domains and analysis sensitivities in a meta-level static analysis. For evaluation, we derived a static analyzer from the latest ECMA-262 (ES12, 2021) using JSAVER. The derived analyzer soundly analyzed all applicable 18,556 official conformance tests with 99.0% of precision in 590 ms on average. In addition, we demonstrate the configurability and adaptability of JSAVER with several case studies.-
dc.publisherACM-
dc.titleAutomatically deriving JavaScript static analyzers from specifications using Meta-level static analysis-
dc.typeConference-
dc.type.rimsCONF-
dc.citation.beginningpage1022-
dc.citation.endingpage1034-
dc.citation.publicationnameESEC/FSE '22: 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering-
dc.identifier.conferencecountrySI-
dc.identifier.conferencelocationSingapore-
dc.identifier.doi10.1145/3540250.3549097-
dc.contributor.localauthorRyu, Sukyoung-
dc.contributor.nonIdAuthorPark, Jihyeok-
dc.contributor.nonIdAuthorAn, Seungmin-
Appears in Collection
CS-Conference Papers(학술회의논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0