EDBT 2026 Demo / reviewers in the wild / expert
Darius Foo
dblp:228/5744
· DBLP profile ↗
7ranked-venue papers
3as first author
6since 2021 · last 2025
0000-0002-3279-5827ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-author · 6 since 2021Theory of computation · 1 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Specifying and Verifying Future Conditions
Yahui Song, Darius Foo, Wei-Ngan Chin |
SAS | 2 |
| 2024 | Staged Specification Logic for Verifying Higher-Order Imperative ProgramsabstractAbstract Higher-order functions and imperative states are language features supported by many mainstream languages. Their combination is expressive and useful, but complicates specification and reasoning, due to the use of yet-to-be-instantiated function parameters. One inherent limitation of existing specification mechanisms is its reliance ononly two stages : an initial stage to denote the precondition at the start of the method and a final stage to capture the postcondition. Such two-stage specifications forceabstract propertiesto be imposed on unknown function parameters, leading to less precise specifications for higher-order methods. To overcome this limitation, we introduce a novel extension to Hoare logic that supportsmultiple stagesfor a call-by-value higher-order language with ML-like local references. Multiple stages allow the behavior of unknown function-type parameters to be captured abstractly as uninterpreted relations; and can also model the repetitive behavior of each recursion as a separate stage. In this paper, we define our staged logic with its semantics, prove its soundness and develop a new automated higher-order verifier, calledHeifer, for a core ML-like language. Darius Foo, Yahui Song, Wei-Ngan Chin |
FM (1) | 1 |
| 2024 | Specification and Verification for Unrestricted Algebraic Effects and HandlingabstractProgramming with user-defined effects and effect handlers has many practical use cases involving imperative effects. Additionally, it is natural and powerful to use multi-shot effect handlers for non-deterministic or probabilistic programs that allow backtracking to compute a comprehensive outcome. Existing works for verifying effect handlers are restricted in one of three ways: i) permitting multi-shot continuations under pure setting; ii) allowing heap manipulation for only one-shot continuations; or iii) allowing multi-shot continuations with heap-manipulation but under a restricted frame rule. This work proposes a novel calculus called Effectful Specification Logic (ESL) to support unrestricted effect handlers, where zero-/one-/multi-shot continuations can co-exist with imperative effects and higher-order constructs. ESL captures behaviors in stages, and provides precise models to support invoked effects, handlers and continuations. To show its feasibility, we prototype an automated verification system for this novel specification logic, prove its soundness, report on useful case studies, and present experimental results. With this proposal, we have provided an extended specification logic that is capable of modeling arbitrary imperative higher-order programs with algebraic effects and continuation-enabled handlers. Yahui Song, Darius Foo, Wei-Ngan Chin |
Proc. ACM Program. Lang. | 2 |
| 2023 | Protocol Conformance with Choreographic PlusCal
Darius Foo, Andreea Costea, Wei-Ngan Chin |
TASE | 1 |
| 2022 | Automated Temporal Verification for Algebraic Effects
Yahui Song, Darius Foo, Wei-Ngan Chin |
APLAS | 2 |
| 2021 | Out of sight, out of mind? How vulnerable dependencies affect open-source projects
Gede Artha Azriadi Prana, Abhishek Sharma 0002, Lwin Khin Shar, Darius Foo, Andrew E. Santosa, Asankhaya Sharma, David Lo 0001 |
Empir. Softw. Eng. | 4 |
| 2018 | Efficient static checking of library updatesabstractSoftware engineering practices have evolved to the point where a developer writing a new application today doesn’t start from scratch, but reuses a number of open source libraries and components. These third-party libraries evolve independently of the applications in which they are used, and may not maintain stable interfaces as bugs and vulnerabilities in them are fixed. This in turn causes API incompatibilities in downstream applications which must be manually resolved. Oversight here may manifest in many ways, from test failures to crashes at runtime. To address this problem, we present a static analysis for automatically and efficiently checking if a library upgrade introduces an API incompatibility. Darius Foo, Hendy Chua, Jason Yeo, Ming Yi Ang, Asankhaya Sharma |
ESEC/SIGSOFT FSE | 1 |