JSTAR: JavaScript Specification Type Analyzer using Refinement

Cited 3 time in webofscience Cited 0 time in scopus
  • Hit : 248
  • Download : 0
DC FieldValueLanguage
dc.contributor.authorPark, Jihyeokko
dc.contributor.authorAn, Seungminko
dc.contributor.authorShin, Wonhoko
dc.contributor.authorSim, Yusungko
dc.contributor.authorRyu, Sukyoungko
dc.date.accessioned2021-11-30T06:49:28Z-
dc.date.available2021-11-30T06:49:28Z-
dc.date.created2021-11-28-
dc.date.created2021-11-28-
dc.date.created2021-11-28-
dc.date.issued2021-11-17-
dc.identifier.citation36th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp.606 - 616-
dc.identifier.urihttp://hdl.handle.net/10203/289698-
dc.description.abstractJavaScript is one of the mainstream programming languages for client-side programming, server-side programming, and even embedded systems. Various JavaScript engines developed and maintained in diverse fields must conform to the syntax and semantics described in ECMAScript, the standard specification of JavaScript. Since an incorrect description in ECMAScript can lead to wrong JavaScript engine implementations, checking the correctness of ECMAScript is critical and essential. However, all the specification updates are currently manually reviewed by the Ecma Technical Committee 39 (TC39) without any automated tools. Moreover, in late 2014, the committee announced the yearly release cadence and open development process of ECMAScript to quickly adapt to evolving development environments. Because of such frequent updates, checking the correctness of ECMAScript becomes more labor-intensive and error-prone. To alleviate the problem, we propose JSTAR, a JavaScript Specification Type Analyzer using Refinement. It is the first tool that performs type analysis on JavaScript specifications and detects specification bugs using a bug detector. For a given specification, JSTAR first compiles each abstract algorithm written in a structured natural language to a corresponding function in IRES, an untyped intermediate representation for ECMAScript. Then, it performs type analysis for compiled functions with specification types defined in ECMAScript. Based on the result of type analysis, JSTAR detects specification bugs using a bug detector consisting of four checkers. To increase the precision of the type analysis, we present condition-based refinement for type analysis, which prunes out infeasible abstract states using conditions of assertions and branches. We evaluated JSTAR with all 864 versions in the official ECMAScript repository for the recent three years from 2018 to 2021. JSTAR took 137.3 seconds on average to perform type analysis for each version, and detected 157 type-related specification bugs with 59.2% precision; 93 out of 157 bugs are true bugs. Among them, 14 bugs are newly detected by JSTAR, and the committee confirmed them all.-
dc.languageEnglish-
dc.publisherIEEE/ACM-
dc.titleJSTAR: JavaScript Specification Type Analyzer using Refinement-
dc.typeConference-
dc.identifier.wosid000779309000052-
dc.identifier.scopusid2-s2.0-85125472555-
dc.type.rimsCONF-
dc.citation.beginningpage606-
dc.citation.endingpage616-
dc.citation.publicationname36th IEEE/ACM International Conference on Automated Software Engineering (ASE)-
dc.identifier.conferencecountryAT-
dc.identifier.conferencelocationVirtual-
dc.identifier.doi10.1109/ASE51524.2021.9678781-
dc.contributor.localauthorRyu, Sukyoung-
dc.contributor.nonIdAuthorPark, Jihyeok-
dc.contributor.nonIdAuthorAn, Seungmin-
dc.contributor.nonIdAuthorShin, Wonho-
dc.contributor.nonIdAuthorSim, Yusung-
Appears in Collection
CS-Conference Papers(학술회의논문)
Files in This Item
There are no files associated with this item.
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 3 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0