Title
Semantics of asynchronous JavaScript.
Abstract
JavaScript code running in the Node.js runtime is a major platform for developers building cloud, mobile, or IoT applications. A fundamental concept in Node.js programming is the use of asynchronous callbacks and event loops to provide highly responsive applications. While conceptually simple, this programming model contains numerous subtleties and behaviors that are defined implicitly by the current Node.js implementation. This paper presents the first comprehensive formalization of the Node.js asynchronous execution model and defines a high-level notion of async-contexts to formalize fundamental relationships between asynchronous executions in an application. These formalizations provide a foundation for the construction of static or dynamic program analysis tools, support the exploration of alternative Node.js event loop implementations, and provide a high-level conceptual framework for reasoning about relationships between the execution of asynchronous callbacks in a Node.js application.
Year
DOI
Venue
2017
10.1145/3170472.3133846
DLS
Keywords
Field
DocType
Asynchrony, JavaScript
Asynchronous communication,Programming language,Programming paradigm,Computer science,Callback,Execution model,Event loop,Asynchronous method invocation,Dynamic program analysis,JavaScript
Conference
Volume
Issue
ISSN
52
11
0362-1340
ISBN
Citations 
PageRank 
978-1-4503-5526-1
1
0.35
References 
Authors
7
3
Name
Order
Citations
PageRank
Matthew C. Loring110.35
Mark Marron21249.74
Daan Leijen330227.20