Towards Runtime Monitoring of Node.js']js and Its Application to the Internet of Things

被引:9
|
作者
Ancona, Davide [1 ]
Franceschini, Luca [1 ]
Delzanno, Giorgio [1 ]
Leotta, Maurizio [1 ]
Ribaudo, Marina [1 ]
Ricca, Filippo [1 ]
机构
[1] Univ Genoa, DIBRIS, Genoa, Italy
关键词
VERIFICATION; WEB;
D O I
10.4204/EPTCS.264.4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In the last years Node.js has emerged as a framework particularly suitable for implementing lightweight IoT applications, thanks to its underlying asynchronous event-driven, non blocking I/O model. However, verifying the correctness of programs with asynchronous nested callbacks is quite difficult, and, hence, runtime monitoring can be a valuable support to tackle such a complex task. Runtime monitoring is a useful software verification technique that complements static analysis and testing, but has not been yet fully explored in the context of Internet of Things (IoT) systems. Trace expressions have been successfully employed for runtime monitoring in widespread multiagent system platforms. Recently, their expressive power has been extended to allow parametric specifications on data that can be captured and monitored only at runtime. Furthermore, they can be language and system agnostic, through the notion of event domain and type. This paper investigates the use of parametric trace expressions as a first step towards runtime monitoring of programs developed in Node.js and Node-RED, a flow-based IoT programming tool built on top of Node.js. Runtime verification of such systems is a task that mostly seems to have been overlooked so far in the literature. A prototype implementing the proposed system for Node.js, in order to dynamically check with trace expressions the correct usage of API functions, is presented. The tool exploits the dynamic analysis framework Jalangi for monitoring Node.js programs and allows detection of errors that would be difficult to catch with other techniques. Furthermore, it offers a simple REST interface which can be exploited for runtime verification of Node-RED components, and, more generally, IoT devices.
引用
收藏
页码:27 / 42
页数:16
相关论文
共 50 条
  • [1] NodeMOP: Runtime Verification for Node.js']js Applications
    Schiavio, Filippo
    Sun, Haiyang
    Bonetta, Daniele
    Rosa, Andrea
    Binder, Walter
    [J]. SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1794 - 1801
  • [2] AFFOGATO: Runtime Detection of Injection Attacks for Node.js']js
    Gauthier, Francois
    Hassanshahi, Behnaz
    Jordan, Alexander
    [J]. COMPANION PROCEEDINGS FOR THE ISSTA/ECOOP 2018 WORKSHOPS, 2018, : 94 - 99
  • [3] Energy and Runtime Performance Optimization of Node.js']js Web Requests
    Patrou, Maria
    Kent, Kenneth B.
    Siu, Joran
    Dawson, Michael
    [J]. 2021 IEEE INTERNATIONAL CONFERENCE ON CLOUD ENGINEERING, IC2E 2021, 2021, : 71 - 82
  • [4] Research and Application of Node.js']js Core Technology
    Huang, Xiaoping
    [J]. 2020 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND HUMAN-COMPUTER INTERACTION (ICHCI 2020), 2020, : 1 - 4
  • [5] Indoor Air Quality Monitoring System with Node.js']js and MQTT Application 2
    Hapsari, Anindya Ananda
    Vresdian, Devan Junesco
    Aldiansyah, Muhammad
    Dionova, Brainvendra Widi
    Windari, Aulia Choiri
    [J]. 2020 1ST INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY, ADVANCED MECHANICAL AND ELECTRICAL ENGINEERING (ICITAMEE 2020), 2020, : 144 - 149
  • [6] Analysis of Node.js']js Application Performance Using MongoDB Drivers
    Cayres, Leandro Ungari
    de Lima, Bruno Santos
    Garcia, Rogerio Eduardo
    Messias Correia, Ronaldo Celso
    [J]. INFORMATION TECHNOLOGY AND SYSTEMS, ICITS 2020, 2020, 1137 : 213 - 222
  • [7] Assessing the Security of Node.js']js Platform
    Ojamaa, Andres
    Dueuena, Karl
    [J]. 2012 INTERNATIONAL CONFERENCE FOR INTERNET TECHNOLOGY AND SECURED TRANSACTIONS, 2012, : 348 - 355
  • [8] Strand: scalable trilateration with Node.js']js
    Tserpes, Konstantinos
    Pateraki, Maria
    Varlamis, Iraklis
    [J]. JOURNAL OF CLOUD COMPUTING-ADVANCES SYSTEMS AND APPLICATIONS, 2019, 8 (01):
  • [9] NodeSRT: A Selective Regression Testing Tool for Node.js']js Application
    Chen, Yufeng
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 126 - 128
  • [10] Efficient Dynamic Analysis for Node.js']js
    Sun, Haiyang
    Bonetta, Daniele
    Humer, Christian
    Binder, Walter
    [J]. CC'18: PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2018, : 196 - 206