• Home
  • Search
  • Static analysis of event-driven Node.js JavaScript applications
  • Cite Icon37
  • https://doi.org/10.1145/2858965.2814272Copy DOI Icon

Static analysis of event-driven Node.js JavaScript applications

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Many JavaScript programs are written in an event-driven style. In particular, in server-side Node.js applications, operations involving sockets, streams, and files are typically performed in an asynchronous manner, where the execution of listeners is triggered by events. Several types of programming errors are specific to such event-based programs (e.g., unhandled events, and listeners that are registered too late). We present the event-based call graph, a program representation that can be used to detect bugs related to event handling. We have designed and implemented three analyses for constructing event-based call graphs. Our results show that these analyses are capable of detecting problems reported on StackOverflow. Moreover, we show that the number of false positives reported by the analysis on a suite of small Node.js applications is manageable.

Similar Papers
  • Conference Article

Detecting JavaScript Transpiler Bugs with Grammar-guided Mutation

  • Mar 01, 2023
  • Le Chen +3
  • Conference Article
  • Citations20

Type refinement for static analysis of JavaScript

  • Oct 28, 2013
  • Vineeth Kashyap +4
  • Conference Article
  • Citations7

ParallelJS

  • Mar 01, 2014
  • Jin Wang +2
  • Conference Article
  • Citations123

Practical static analysis of JavaScript applications in the presence of frameworks and libraries

  • Aug 18, 2013
  • Magnus Madsen +2
  • Dissertation

Data flow and heap analysis with application to privilege escalation vulnerability scanning and software theft detection

  • Jan 01, 2013
  • Ping-Fai Chan
  • Single Report
  • Citations1

An economic model for the value attributable to high-quality calibration by reducing mistakes in conformance testing

  • May 01, 2023
  • M King +1
  • Conference Article
  • Citations44

Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity

  • Jul 10, 2015
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Changhee Park +1
  • Research Article
  • Citations2

Comparison of Program Representations on Vulnerability Detection with Graph Neural Networks

  • Dec 31, 2021
  • IEIE Transactions on Smart Processing & Computing
  • Yoola Choi +1
  • Research Article
  • Citations11

Broadening the concept of bipolar disorder: what should be done in the face of uncertainty?

  • Oct 01, 2011
  • World Psychiatry
  • Mark Zimmerman
  • Conference Article

A Proposed Figure of Merit for Evaluating the Performance of Radiation Waste Measurement Systems

  • Jan 01, 2011
  • Ronald M Keyser +3
  • Dissertation

Leveraging large code bases for bug detection and test generation

  • Jan 01, 2023
  • Ellen Arteca
  • Book Chapter
  • Citations2

Statically Checking Conventionality of Array Objects in JavaScript

  • Dec 30, 2017
  • Astrid Younang +2
  • Conference Article
  • Citations13

Locality-aware adaptive grain signatures for Transactional Memories

  • Jan 01, 2010
  • Woojin Choi +1
  • Conference Article
  • Citations9

Systematic design of static program analyzers

  • Nov 09, 1994
  • S Jarzabek
  • Research Article
  • Citations10

Types of Errors in Block Programming: Driven by Learner, Learning Environment

  • Jun 18, 2022
  • Journal of Educational Computing Research
  • Anat Ben-Yaacov +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.