five

Artifact evaluation for the ECMAScript Memory Model Evaluator (EMME) tool

收藏
Figshare2018-04-13 更新2026-04-29 收录
下载链接:
https://figshare.com/articles/dataset/Artifact_evaluation_for_the_ECMAScript_Memory_Model_Evaluator_EMME_tool/5923312
下载链接
链接失效反馈
官方服务:
资源简介:
This dataset contains the artifact evaluation for the ECMAScript Memory Model Evaluator (EMME) tool.For more information how to use the tool, we refer to the README.txt file within the archive, or the web page http://www.mattarei.eu/cristian/dist/TACAS2018/The EMME tool is held in a single .zip archive. The subdirectory EMME-master holds scripts, configurations, models, tests and examples to run the evaluator. The subdirectory TACAS18-tests contains the test outputs for valid executions as described in the related TACAS 2018 proceedings paper linked from this data record.EMME is available here in open source Python format (.py). The input to EMME is a program with shared memory accesses. The tool interacts with the Alloy Analyzer (http://alloy.mit.edu/alloy/) to perform the formal analyses described in Section 4 of the related paper, which include the enumeration of valid executions and the generation of behavioral coverage constraints.Briefly, given a JavaScript-like SharedArrayBuffer bounded execution program (see .bex files in the examples folder), EMME computes all valid executions according with the ECMA specification (http://tc39.github.io/ecmascript_sharedmem/shmem.html). The valid executions are provided as: 1) a set of graphviz files representing the memory model relations (i.e., mm*.dot), and 2) an assertion on the automatically generated JavaScript program (i.e., program.js).BackgroundNearly all web-based interfaces are written in JavaScript. Given its prevalence, the support for high performance JavaScript code is crucial. The ECMA Technical Committee 39 (TC39) has recently extended the ECMAScript language (i.e., JavaScript) to support shared memory accesses between different threads. The extension is given in terms of a natural language memory model specification. In this paper we describe a formal approach for validating both the memory model and its implementations in various JavaScript engines. The related publication introduces a formal version of the memory model and reports results on checking the model for consistency and other properties. We then introduce our tool, EMME, built on top of the Alloy analyzer, which leverages the model to generate all possible valid executions of a given JavaScript program. Finally, we report results using EMME together with small test programs to analyze industrial JavaScript engines.
创建时间:
2018-04-13
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作