Abstract
Callbacks are an essential mechanism for event-driven programming. Unfortunately, callbacks make reasoning challenging because they introduce behaviors where calls to the module are interleaved. We present a parametric method that, from a particular invariant of the program, allows reducing the problem of verifying the invariant in the presence of callbacks, to the callback-free setting. Intuitively, we allow callbacks to introduce behaviors that cannot be produced by callback free executions, as long as they do not affect correctness. A chief insight is that the user is aware of the potential effect of the callbacks on the program state. To this end, we present a parametric verification technique which accepts this insight as a relation between callback and callback free executions. We implemented our approach and applied it successfully to a large set of real-world programs.
| Original language | English |
|---|---|
| Pages (from-to) | 2256-2273 |
| Number of pages | 18 |
| Journal | IEEE Transactions on Dependable and Secure Computing |
| Volume | 20 |
| Issue number | 3 |
| DOIs | |
| State | Published - 1 May 2023 |
Keywords
- Callbacks
- Event-driven programming
- Smart contract verification
- Unbounded re-entrancy
ASJC Scopus subject areas
- General Computer Science
- Electrical and Electronic Engineering
Fingerprint
Dive into the research topics of 'Relaxed Effective Callback Freedom: A Parametric Correctness Condition for Sequential Modules With Callbacks'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver