[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article
Open access

JavaScript Language Design and Implementation in Tandem

Published: 19 April 2024 Publication History

Abstract

Proposing a new approach to programming language development.

References

[1]
Andreasen, E. et al. A survey of dynamic analysis and test generation for JavaScript. Comput. Surveys 50, 5 (2017), 66:1--66:36.
[2]
Augustsson, L., Breitner, J. et al. The Verse calculus: A core calculus for deterministic functional logic programming. In Proceedings of ACM Program. Lang. 7, ICFP, Article 203 (Aug. 2023), 31
[3]
Babel Team. Babel is a Javascript compiler. Babel Community, 2022; https://babeljs.io/
[4]
Ben-Yehuda, A. Coherence Can Be Bypassed by an Indirect Impl for a Trait Object(2019); https://bit.ly/4bqvoAB.
[5]
Ecma International. ECMA-262, 10th Edition, ECMAScript®2019 Language Specification (June 2019); https://bit.ly/488c9J9
[6]
Ecma International. Github Repository for ECMAScript Proposals (2019); https://bit.ly/48az6M1
[7]
Ecma International. Github Repository for an Internal Version of ECMA-262 (2020); https://bit.ly/3Uzf8Y1.
[8]
Ecma International. ECMA-262, 12th Edition, ECMAScript®2021 Language Specification; https://bit.ly/3OzoHCo
[9]
Ecma International. CI: Integrate ESMeta #3730 (2022); https://bit.ly/3HQcLJ1.
[10]
Ecma International. ECMA-262, 14th Edition, ECMAScript®2023 Language Specification; https://bit.ly/3ODWNVX
[11]
Ecma International. ECMAScript Repository (2022); https://bit.ly/49sM88x
[12]
Ecma International. Meta: Integrate ESMeta Type Checker into CI #2926 (2022); https://bit.ly/3Us6smm.
[13]
Ecma International. Tc39: 26 January 2022 Meeting Notes; https://bit.ly/489mGnu.
[14]
Ecma International. The Tc39 Process (2022); https://bit.ly/42BnEYK
[15]
Ecma International. Test262: ECMAScript Test Suite (2022); https://bit.ly/3w9BQfj
[16]
Ficarra, M. Personal Communication (2021).
[17]
GitHub. The Top Programming Languages (2022); https://bit.ly/3utUMF1.
[18]
Guha, A., Saftoiu, C., and Krishnamurthi, S. The essence of JavaScript. In Proceedings of the European Conf. on Object-Oriented Programming. Springer Berlin Heidelberg (2010), 126--150.
[19]
IBM Research. T.J. Watson Libraries for Analysis (WALA), 2006; http://wala.sf.net.
[20]
KAIST PLRG. SAFE: Javascript Analysis Framework, 2012; http://safe.kaist.ac.kr.
[21]
KAIST PLRG. ESMeta (2022); https://bit.ly/48YjA77.
[22]
Maffeis, S., Mitchell, J.C., and Taly, A. An operational semantics for JavaScript. In Proceedings of the Asian Symp. on Programming Languages and Systems. Springer Berlin Heidelberg (2008), 307--325.
[23]
Møller, A. et al. TAJS: Type Analyzer for JavaScript (2012); https://bit.ly/3HRyMHb.
[24]
Park, D., Stefănescu, A., and Roşu, G. KJS: A complete formal semantics of JavaScript. In Proceedings of the 36th ACM SIGPLAN Conf. on Programming Language Design and Implementation. Association for Computing Machinery (2015), 346--356.
[25]
Park, J., An, S., and Ryu, S. Automatically deriving JavaScript static analyzers from specifications using meta-level static analysis. In Proceedings of the 30th ACM Joint European Software Engineering Conf. and Symp. on the Foundations of Software Engineering. Association for Computing Machinery (2022), 1022--1034.
[26]
Park, J. et al. JSTAR: JavaScript specification type analyzer using refinement. In Proceedings of the 36th IEEE/ACM Intern. Conf. on Automated Software Engineering. Association for Computing Machinery (2021), 606--616.
[27]
Park, J. et al. JEST: N+1-version differential testing of both JavaScript engines and specification. In Proceedings of IEEE/ACM 43rd Intern. Conf. on Software Engineering. IEEE, Association for Computing Machinery (2021), 13--24.
[28]
Park, J., Park, J., An, S., and Ryu, S. JISET: JavaScript IR-based semantics extraction toolchain. In Proceedings of the 35th IEEE/ACM Intern. Conf. on Automated Software Engineering. IEEE, Association for Computing Machinery, (2020), 647--658.
[29]
Reynolds, J.C. Definitional interpreters for higher-order programming languages. In Proceedings of the ACM Annual Conf. 2. Association for Computing Machinery (1972), 717--740.
[30]
Roşu, G. and Şerbănuţă, T.F. K overview and SIMPLE case study. In Proceedings of the 2nd Intern. Workshop on the K Framework and Its Applications 304. Elsevier (2014), 3--56.
[31]
Sen, K., Kalasapur, S., Brutch, T., and Gibbs, S. Jalangi: A tool framework for concolic testing, selective record-replay, and dynamic analysis of JavaScript. In Proceedings of the 30th ACM Joint European Software Engineering Conf. and Symp. on the Foundations of Software Engineering, Association for Computing Machinery (2013), 615--618.
[32]
Sun, K. and Ryu, S. Analysis of JavaScript programs: Challenges and research trends. ACM Computing Survvey 50, 4 (Aug. 2017), 34.
[33]
Tung, L. Bugs in Chrome's Javascript Engine Can Lead to Powerful Exploits (2021); https://zd.net/3HS2lbJ
[34]
Wang, Z. et al. An empirical study on bugs in JavaScript engines. Information and Software Technology 155 (2023), 107105.
[35]
Watt, C. et al. Two mechanisations of WebAssembly 1.0. In Formal Methods. M. Huisman, C. Păsăreanu, and N. Zhan (eds). Springer Intern. Publishing, Cham, (2021), 61--79.
[36]
Wirfs-Brock, A. and Eich, B. JavaScript: The first 20 years. Proceedings of the ACM on Programming Languages 4, HOPL, Article 77 (June 2020), 189.
[37]
Wong, W. et al. A survey on software fault localization. IEEE Transactions on Software Engineering 42, 8 (2016), 707--740.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 67, Issue 5
May 2024
99 pages
EISSN:1557-7317
DOI:10.1145/3663534
  • Editor:
  • James Larus
Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2024
Online First: 19 April 2024
Published in CACM Volume 67, Issue 5

Check for updates

Qualifiers

  • Research-article

Funding Sources

  • National Research Foundation of Korea (NRF)
  • Institute for Information & communications Technology Promotion (IITP)
  • Samsung Electronics Co., Ltd

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 3,080
    Total Downloads
  • Downloads (Last 12 months)3,080
  • Downloads (Last 6 weeks)186
Reflects downloads up to 10 Dec 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

HTML Format

View this article in HTML Format.

HTML Format

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media