JISET: JavaScript IR-based Semantics Extraction Toolchain

JavaScript was initially designed for client-side programming in web browsers, but its engine is now embedded in various kinds of host software. Despite the popularity, since the JavaScript semantics is complex especially due to its dynamic nature, understanding and reasoning about JavaScript progra...

Full description

Saved in:
Bibliographic Details
Published in:2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE) pp. 647 - 658
Main Authors: Park, Jihyeok, Park, Jihee, An, Seungmin, Ryu, Sukyoung
Format: Conference Proceeding
Language:English
Published: ACM 01.09.2020
Subjects:
ISSN:2643-1572
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract JavaScript was initially designed for client-side programming in web browsers, but its engine is now embedded in various kinds of host software. Despite the popularity, since the JavaScript semantics is complex especially due to its dynamic nature, understanding and reasoning about JavaScript programs are challenging tasks. Thus, researchers have proposed several attempts to define the formal semantics of JavaScript based on ECMAScript, the official JavaScript specification. However, the existing approaches are manual, labor-intensive, and error-prone and all of their formal semantics target ECMAScript 5.1 (ES5.1, 2011) or its former versions. Therefore, they are not suitable for understanding modern JavaScript language features introduced since ECMAScript 6 (ES6, 2015). Moreover, ECMAScript has been annually updated since ES6, which already made five releases after ES5.1. To alleviate the problem, we propose JISET, a JavaScript IR-based Semantics Extraction Toolchain. It is the first tool that automatically synthesizes parsers and AST-IR translators directly from a given language specification, ECMAScript. For syntax, we develop a parser generation technique with lookahead parsing for BNFES, a variant of the extended BNF used in ECMAScript. For semantics, JISET synthesizes AST-IR translators using forward compatible rule-based compilation. Compile rules describe how to convert each step of abstract algorithms written in a structured natural language into IRES, an Intermediate Representation that we designed for ECMAScript. For the four most recent ECMAScript versions, JISET automatically synthesized parsers for all versions, and compiled 95.03% of the algorithm steps on average. After we complete the missing parts manually, the extracted core semantics of the latest ECMAScript (ES10, 2019) passed all 18,064 applicable tests. Using this first formal semantics of modern JavaScript, we found nine specification errors in ES10, which were all confirmed by the Ecma Technical Committee 39. Furthermore, we showed that JISET is forward compatible by applying it to nine feature proposals ready for inclusion in the next ECMAScript, which let us find three errors in the BigInt proposal.
AbstractList JavaScript was initially designed for client-side programming in web browsers, but its engine is now embedded in various kinds of host software. Despite the popularity, since the JavaScript semantics is complex especially due to its dynamic nature, understanding and reasoning about JavaScript programs are challenging tasks. Thus, researchers have proposed several attempts to define the formal semantics of JavaScript based on ECMAScript, the official JavaScript specification. However, the existing approaches are manual, labor-intensive, and error-prone and all of their formal semantics target ECMAScript 5.1 (ES5.1, 2011) or its former versions. Therefore, they are not suitable for understanding modern JavaScript language features introduced since ECMAScript 6 (ES6, 2015). Moreover, ECMAScript has been annually updated since ES6, which already made five releases after ES5.1. To alleviate the problem, we propose JISET, a JavaScript IR-based Semantics Extraction Toolchain. It is the first tool that automatically synthesizes parsers and AST-IR translators directly from a given language specification, ECMAScript. For syntax, we develop a parser generation technique with lookahead parsing for BNFES, a variant of the extended BNF used in ECMAScript. For semantics, JISET synthesizes AST-IR translators using forward compatible rule-based compilation. Compile rules describe how to convert each step of abstract algorithms written in a structured natural language into IRES, an Intermediate Representation that we designed for ECMAScript. For the four most recent ECMAScript versions, JISET automatically synthesized parsers for all versions, and compiled 95.03% of the algorithm steps on average. After we complete the missing parts manually, the extracted core semantics of the latest ECMAScript (ES10, 2019) passed all 18,064 applicable tests. Using this first formal semantics of modern JavaScript, we found nine specification errors in ES10, which were all confirmed by the Ecma Technical Committee 39. Furthermore, we showed that JISET is forward compatible by applying it to nine feature proposals ready for inclusion in the next ECMAScript, which let us find three errors in the BigInt proposal.
Author Ryu, Sukyoung
Park, Jihyeok
An, Seungmin
Park, Jihee
Author_xml – sequence: 1
  givenname: Jihyeok
  surname: Park
  fullname: Park, Jihyeok
  email: jhpark0223@kaist.ac.kr
  organization: KAIST,South Korea
– sequence: 2
  givenname: Jihee
  surname: Park
  fullname: Park, Jihee
  email: j31d0@kaist.ac.kr
  organization: KAIST,South Korea
– sequence: 3
  givenname: Seungmin
  surname: An
  fullname: An, Seungmin
  email: h2oche@kaist.ac.kr
  organization: KAIST,South Korea
– sequence: 4
  givenname: Sukyoung
  surname: Ryu
  fullname: Ryu, Sukyoung
  email: sryu.cs@kaist.ac.kr
  organization: KAIST,South Korea
BookMark eNotjMFKw0AUAFdRsK09e_CSH0jdzXvZt-tNSqopBcHEc3nZ7OJKm5QkiP69BT0Nw8DMxVXXd16IOyVXSmH-AJChMbgCVFpDdiGWlsw5SNCkDV6KWaYRUpVTdiPm4_gpZX4Wmgm7Lauifky2_MWVG-JpSsq3tOHRt0nlj9xN0Y1J8T0N7KbYd0nd9wf3wbG7FdeBD6Nf_nMh3jdFvX5Jd6_P5fppl3KGNKWeMHiJpiVywQZkm8tWBx1MsOBcji1DQwxKNQbBNcpwY0l7BXQ22cJC3P99o_d-fxrikYefvc2MloTwCxWgR5c
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3324884.3416632
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450367684
1450367682
EISSN 2643-1572
EndPage 658
ExternalDocumentID 9286074
Genre orig-research
GrantInformation_xml – fundername: National Research Foundation of Korea (NRF)
  grantid: NRF-2017R1A2B3012020,2017M3C4A7068177
  funderid: 10.13039/501100001321
GroupedDBID 29I
6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a247t-e74fe048d77cf9f4a950d6f6f8f93cc54da3b7a311b843cb18ab976e1373cb0d3
IEDL.DBID RIE
ISICitedReferencesCount 12
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000651313500055&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:33:27 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-e74fe048d77cf9f4a950d6f6f8f93cc54da3b7a311b843cb18ab976e1373cb0d3
PageCount 12
ParticipantIDs ieee_primary_9286074
PublicationCentury 2000
PublicationDate 2020-Sept.
PublicationDateYYYYMMDD 2020-09-01
PublicationDate_xml – month: 09
  year: 2020
  text: 2020-Sept.
PublicationDecade 2020
PublicationTitle 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
PublicationTitleAbbrev ASE
PublicationYear 2020
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0051577
ssj0002871035
Score 2.248629
Snippet JavaScript was initially designed for client-side programming in web browsers, but its engine is now embedded in various kinds of host software. Despite the...
SourceID ieee
SourceType Publisher
StartPage 647
SubjectTerms Feature extraction
JavaScript
mechanized formal semantics
program synthesis
Proposals
Semantics
Syntactics
Task analysis
Testing
Title JISET: JavaScript IR-based Semantics Extraction Toolchain
URI https://ieeexplore.ieee.org/document/9286074
WOSCitedRecordID wos000651313500055&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEA61ePBUtRXf7MGj224eu0m8SostUoqt0lvJY4IF3ZV2W_z5ZrfriuDFWxIIhAkz32Qy3wxCN0bFHCJJQmpEUhTVFqFOHA41kYa6BBgt-RUvj3w8FvO5nDTQbc2FAYAy-Qy6xbD8y7eZ2RShsp4kIvGQt4f2OE92XK06nlJ4_hGtXV8P05xXpXwwi3vUOw5CsK432h5jya9eKiWUDFr_O8Qh6vxw8oJJjTZHqAHpMWp9N2UIKh1tIzkaTvuzu2CktmpamoRg-BQWYGWDKbx7QS7NOuh_5qsdpSGYZdmbeVXLtIOeB_3Z_UNY9UcIFWE8D4EzB14DLefGSceUjCObuMQJJ6kxMbOKaq4oxlowajQWSnvvAzDlfhZZeoKaaZbCKQoATCQs5trEmknuJIlBWE0wOGb9tjPULiSx-NiVwFhUQjj_e_kCHZDiWVqmYl2iZr7awBXaN9t8uV5dl_f2Bfu5l9o
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEA61Cnqq2opv9-DRbXeT7CbxKi221lLsKr2VPCZY0K70hT_f7HZdEbx4SwKBMGHmm0zmm0HoWsuIQSCwTzSPs6La3FexDX2FhSY2BkpyfsVLnw0GfDwWwwq6KbkwAJAnn0EzG-Z_-SbVqyxU1hKYxw7yttB2RCkONmytMqKS-f4BKZ1fB9SMFcV8Qhq1iHMdOKdNZ7YdyuJf3VRyMOnU_neMfdT4YeV5wxJvDlAFZoeo9t2WwSu0tI5ErztqJ7deT67lKDcKXvfJz-DKeCN4d6Kc6oXX_lzON6QGL0nTN_0qp7MGeu60k7t7v-iQ4EtM2dIHRi04HTSMaSsslSIKTGxjy60gWkfUSKKYJGGoOCVahVwq539ASJibBYYcoeosncEx8gB0wE3IlI4UFcwKHAE3CodgqXHbTlA9k8TkY1MEY1II4fTv5Su0e5889if97uDhDO3h7JGaJ2ado-pyvoILtKPXy-lifpnf4RcT2Jsh
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2020+35th+IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%28ASE%29&rft.atitle=JISET%3A+JavaScript+IR-based+Semantics+Extraction+Toolchain&rft.au=Park%2C+Jihyeok&rft.au=Park%2C+Jihee&rft.au=An%2C+Seungmin&rft.au=Ryu%2C+Sukyoung&rft.date=2020-09-01&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=647&rft.epage=658&rft_id=info:doi/10.1145%2F3324884.3416632&rft.externalDocID=9286074