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
- 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.
- 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.
- Reason rigorously about event-induced volatility, meaning state changed or destroyed by events, to catch state-loss and state-inconsistency bugs.
- 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.
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.
Reach out
A start for your email. Fill in the brackets.