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...
Saved in:
| Published in: | 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE) pp. 647 - 658 |
|---|---|
| Main Authors: | , , , |
| 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 |