Holistic specifications for robust code
summary
Claims a new specification language — holistic specifications — that expresses necessary (not just sufficient) robustness conditions using spatial, temporal and authority predicates. It gives formal semantics (modules, configurations, linking) and mechanized assertions like access and authority, change and future, and an external/domination condition. Applied to ERC‑20, the DAO reentrancy bug and DOM wrappers, the specs show how to prove balances won’t vanish and wrappers limit reach, and they scale by quantifying over all linked modules in an open‑world model.
AI-written summary · about
chapters (9)
- 0:00Start
- 12:47ERC20 classical spec
- 16:44holistic spec - authority
- 18:42DAO simplified
- 23:40Example 3: DOM attenuation
- 31:18using holistic spec
- 35:15Semantics of Expressions
- 35:46Semantics of holistic Assertions
- 40:52Summary of our Proposal
related talks
31mNecessity Specifications for Robustness
23mSpecifying and Verifying Future Conditions
22mThe New Code
31mCooperative Specification via Composition Control
22mA Categorical Basis for Robust Program Analysis
17mReasoning about External Calls
19mSynthesizing Specifications
28mGradual Verification: Assuring Software Incrementally
