Title
A JavaScript Transpiler for Escaping from Complicated Usage of Cloud Services and APIs
Abstract
We propose Escapin, a JavaScript transpiler for developing application programs that consume APIs and are deployed on cloud services in order to obtain new business concepts by trial-and-error iterations. Escapin tackles two difficulties in consuming API and using cloud services; 1) understanding the correct usage of cloud services and APIs requires a lot of time, and 2) programs using cloud service SDKs and HTTP clients are complicated. Escapin introduces two new features to the ECMAScript 2018 specification for simplifying application programs: importing APIs as objects and exporting objects and functions as cloud service resources. Escapin transpiles a JavaScript program independent from any platform into a JavaScript program containing concrete usages of APIs and cloud services. Escapin encourages engineers to write a callback-agnostic program, which represents asynchronous processing as a completely synchronized procedure without any asynchronization feature such as callback, Promise, async/await, etc. Escapin also accepts programs having nesting callbacks. Escapin destructures nesting callbacks in the programs to obtain a callback-agnostic program. Our experimental results show that in the task of developing an application that consumes Uber API and is deployed on Amazon Web Services, Escapin statistically significantly reduces development time and the metrics regarding the simplicity of source code with huge effects: lines of code, cyclomatic complexity, and cognitive complexity.
Year
DOI
Venue
2018
10.1109/APSEC.2018.00021
2018 25th Asia-Pacific Software Engineering Conference (APSEC)
Keywords
Field
DocType
Cloud computing,Complexity theory,Programming,Syntactics,Task analysis,Web services
World Wide Web,Systems engineering,Computer science,Cloud computing,JavaScript
Conference
ISSN
ISBN
Citations 
1530-1362
978-1-7281-1970-0
1
PageRank 
References 
Authors
0.41
0
4
Name
Order
Citations
PageRank
Kosaku Kimura182.75
Atsuji Sekiguchi2133.44
Shridhar Choudhary310.75
Tadahiro Uehara41159.66