PIPages
Labs

Zhijia Zhao

University of California-Riverside, CA·Computer Science

Mobile apps, websites and smart home devices all run on events, such as a tap, an incoming message or a sensor reading. The platform, not the program, decides when each event fires.

Fields

Computer Science

Engineering

Topics

static analysis

program analysis

event-based programming

Grants
1 known grant, through Sep 2027

What they work on

  1. Develop 'event sensitivity', a program-analysis foundation that treats event creation and triggering as first-class objects, so that static analysis can track event-based Android, JavaScript and IoT programs.
  2. Determine the order of key events before a program runs, using path-based event ordering, in order to detect and prevent ordering errors in event-based applications.
  3. Reason rigorously about event-induced volatility, meaning state changed or destroyed by events, to catch state-loss and state-inconsistency bugs.
  4. Build platform models automatically to replace manual, ad hoc models of how platforms such as Android trigger events, for use in analysis and program understanding.

More about the research

This makes the software hard to reason about. As a result, apps can lose a user's work, web services can fail silently, and Internet-of-Things (IoT) devices can behave in unexpected ways. This collaborative project builds the foundations and tools for static analysis of event-based software. Static analysis means checking a program's code for bugs without running it.

Why it matters

Billions of people use event-based software, including mobile apps, web services and smart devices. Bugs caused by unexpected event timing can wipe out a user's work, cause service outages or make devices misbehave. Automatic tools that find these bugs before release could help developers ship more reliable Android, JavaScript and IoT software.

Known grants

From NIH and NSF research grants. Labs often have other funding we can't see.

Collaborative Research: SHF: Medium: Precise Static Analysis of Event-based Systems

NSF · Oct 2021 – Sep 2027

Closest labs

Iulian Neamtiu

New Jersey Institute of Technology, NJ·Computer Science

Develop event sensitivity, a program-analysis technique that treats event creation and triggering as first-class objects, so that static analysis can model event-based applications accurately.

Shiyi Wei

University of Texas at Dallas, TX·Computer Science·Early-career

Identify hidden relationships among the configuration options of Android taint analysis tools, and present them in a unified, configuration-aware interface that makes tuning easier.

Qirun Zhang

Georgia Institute of Technology, GA·Computer Science·Early-career

Characterize what the InterDyck graph abstraction can and cannot express. This is a graph model of programs with matched-edge patterns that represents program meaning for analysis.

The school

University of California-Riverside: 21 labs on PI Pages, $232M a year on research, 328 research doctorates a year.

More about University of California-Riverside

Reach out

A start for your email. Fill in the brackets.