arrow
Return

Relaxed Effective Callback Freedom: A Parametric Correctness Condition for Sequential Modules With Callbacks

delete2023-05-01
delete0
PRE
AI
E
Elvira Albert
S
Shelly Grossman
N
Noam Rinetzky
C
Clara Rodríguez-Núñez *
A
Albert Rubio
M
Mooly Sagiv
DOI:10.1109/TDSC.2022.3178836delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
Contracts
Cognition
Codes
Programming
Static analysis
Smart contracts
Safety
Smart contract verification
Event-driven programming
Unbounded re-entrancy
Callbacks

Journal

IEEE Transactions on Dependable and Secure Computing cover
IEEE Transactions on Dependable and Secure Computing
IF:
7.5
Papers:
2.4K
Citations:
9.6K

Organization

C
Complutense University of Madrid
Scholars:
2.6W
Papers: 2.2W
Citations: 31
T
Tel Aviv University
Scholars:
3.7W
Papers: 3.0W
Citations: 3.6W