EDBT 2026 Demo / reviewers in the wild / expert
Shawn Meier
dblp:194/2430
· DBLP profile ↗
3ranked-venue papers
2as first author
1since 2021 · last 2023
0000-0002-1349-4316ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Program analysis · 61% Program verification · 34% Software testing · 5% |
Topics — the 4 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.7 | 1 | 2023 | Historia: Refuting Callback Reachability with Message-History Logics · Proc. ACM Program. Lang. 2023 |
Program analysis › type-based analysis
typestate analysis |
0.3 | 1 | 2018 | DroidStar: callback typestates for Android classes · ICSE 2018 |
Program analysis › static analysis
bug detection |
0.2 | 1 | 2023 | Historia: Refuting Callback Reachability with Message-History Logics · Proc. ACM Program. Lang. 2023 |
Software testing › mobile application testing
android app testing |
0.1 | 1 | 2018 | DroidStar: callback typestates for Android classes · ICSE 2018 |
Methods — techniques the papers use, named apart from their topics
temporal specification logic · 0.7program logic · 0.7finite-state machine inference · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Historia: Refuting Callback Reachability with Message-History LogicsabstractThis paper considers the callback reachability problem --- determining if a callback can be called by an event-driven framework in an unexpected state. Event-driven programming frameworks are pervasive for creating user-interactive applications (apps) on just about every modern platform. Control flow between callbacks is determined by the framework and largely opaque to the programmer. This opacity of the callback control flow not only causes difficulty for the programmer but is also difficult for those developing static analysis. Previous static analysis techniques address this opacity either by assuming an arbitrary framework implementation or attempting to eagerly specify all possible callback control flow, but this is either too coarse to prove properties requiring callback-ordering constraints or too burdensome and tricky to get right. Instead, we present a middle way where the callback control flow can be gradually refined in a targeted manner to prove assertions of interest. The key insight to get this middle way is by reasoning about the history of method invocations at the boundary between app and framework code --- enabling a decoupling of the specification of callback control flow from the analysis of app code. We call the sequence of such boundary-method invocations message histories and develop message-history logics to do this reasoning. In particular, we define the notion of an application-only transition system with boundary transitions, a message-history program logic for programs with such transitions, and a temporal specification logic for capturing callback control flow in a targeted and compositional manner. Then to utilize the logics in a goal-directed verifier, we define a way to combine after-the-fact an assertion about message histories with a specification of callback control flow. We implemented a prototype message history-based verifier called Historia and provide evidence that our approach is uniquely capable of distinguishing between buggy and fixed versions on challenging examples drawn from real-world issues and that our targeted specification approach enables proving the absence of multi-callback bug patterns in real-world open-source Android apps. Shawn Meier, Sergio Mover, Gowtham Kaki, Bor-Yuh Evan Chang |
Proc. ACM Program. Lang. | 1 |
| 2019 | Lifestate: Event-Driven Protocols and Callback Control Flow
Shawn Meier, Sergio Mover, Bor-Yuh Evan Chang |
ECOOP | 1 |
| 2018 | DroidStar: callback typestates for Android classesabstractEvent-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub callback typestates. Callback typestates are akin to classical typestates, with the difference that their outputs (callbacks) are produced asynchronously. While useful, these specifications are not commonly available, because writing them is difficult and error-prone. Arjun Radhakrishna, Nicholas V. Lewchenko, Shawn Meier, Sergio Mover, Krishna Chaitanya Sripada, Damien Zufferey, Bor-Yuh Evan Chang, Pavol Cerný |
ICSE | 3 |