【24h】

KJS: A Complete Formal Semantics of JavaScript

机译:KJS:JavaScript的完整形式语义

获取原文
获取原文并翻译 | 示例
           

摘要

This paper presents KJS, the most complete and throughly tested formal semantics of JavaScript to date. Being executable, KJS has been tested against the ECMAScript 5.1 conformance test suite, and passes all 2,782 core language tests. Among the existing implementations of JavaScript, only Chrome V8's passes all the tests, and no other semantics passes more than 90%. In addition to a reference implementation for JavaScript, KJS also yields a simple coverage metric for a test suite: the set of semantic rules it exercises. Our semantics revealed that the ECMAScript 5.1 conformance test suite fails to cover several semantic rules. Guided by the semantics, we wrote tests to exercise those rules. The new tests revealed bugs both in production JavaScript engines (Chrome V8, Safari WebKit, Firefox SpiderMonkey) and in other semantics. KJS is symbolically executable, thus it can be used for formal analysis and verification of JavaScript programs. We verified non-trivial programs and found a known security vulnerability.
机译:本文介绍了KJS,这是迄今为止最完整且经过全面测试的JavaScript形式语义。作为可执行文件,KJS已针对ECMAScript 5.1一致性测试套件进行了测试,并通过了所有2,782种核心语言测试。在现有的JavaScript实现中,只有Chrome V8通过了所有测试,其他语义都没有超过90%。除了JavaScript的参考实现之外,KJS还为测试套件提供了一个简单的覆盖率度量:它行使的语义规则集。我们的语义表明,ECMAScript 5.1一致性测试套件无法涵盖多个语义规则。在语义学的指导下,我们编写了测试以行使这些规则。新测试揭示了生产JavaScript引擎(Chrome V8,Safari WebKit,Firefox SpiderMonkey)和其他语义中的错误。 KJS具有符号可执行性,因此可以用于JavaScript程序的形式分析和验证。我们验证了重要的程序,并发现了一个已知的安全漏洞。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号