DeepAI AI Chat
Log In Sign Up

Precise Dataflow Analysis of Event-Driven Applications

by   Ming-Ho Yee, et al.

Event-driven programming is widely used for implementing user interfaces, web applications, and non-blocking I/O. An event-driven program is organized as a collection of event handlers whose execution is triggered by events. Traditional static analysis techniques are unable to reason precisely about event-driven code because they conservatively assume that event handlers may execute in any order. This paper proposes an automatic transformation from Interprocedural Finite Distributive Subset (IFDS) problems to Interprocedural Distributed Environment (IDE) problems as a general solution to obtain precise static analysis of event-driven applications; problems in both forms can be solved by existing implementations. Our contribution is to show how to improve analysis precision by automatically enriching the former with information about the state of event handlers to filter out infeasible paths. We prove the correctness of our transformation and report on experiments with a proof-of-concept implementation for a subset of JavaScript.


page 1

page 2

page 3

page 4


Evolving Event-driven Programs with SignalGP

We present SignalGP, a new genetic programming (GP) technique designed t...

Learning how to listen: Automatically finding bug patterns in event-driven JavaScript APIs

Event-driven programming is widely practiced in the JavaScript community...

SignalGP-Lite: Event Driven Genetic Programming Library for Large-Scale Artificial Life Applications

Event-driven genetic programming representations have been shown to outp...

An Event Network for Exploring Open Information

In this paper, an event network is presented for exploring open informat...

IFDS Taint Analysis with Access Paths

Over the years, static taint analysis emerged as the analysis of choice ...

Event-Driven Models

In Reinforcement Learning we look for meaning in the flow of input/outpu...

Data Flow Analysis of Asynchronous Systems using Infinite Abstract Domains

Asynchronous message-passing systems are employed frequently to implemen...