[Paper Review] A Survey of Smart Contract Formal Specification and Verification
This survey provides a comprehensive analysis of formal specification and verification techniques for smart contracts, categorizing formal modeling approaches, property specifications, and verification methods. It identifies widespread use of model checking for functional correctness and symbolic execution for security, while highlighting gaps in automated repair, hybrid modeling, and standardization—offering a roadmap for future research in safe smart contract development.
A smart contract is a computer program which allows users to automate their actions on the blockchain platform. Given the significance of smart contracts in supporting important activities across industry sectors including supply chain, finance, legal and medical services, there is a strong demand for verification and validation techniques. Yet, the vast majority of smart contracts lack any kind of formal specification, which is essential for establishing their correctness. In this survey, we investigate formal models and specifications of smart contracts presented in the literature and present a systematic overview in order to understand the common trends. We also discuss the current approaches used in verifying such property specifications and identify gaps with the hope to recognize promising directions for future work.
Motivation & Objective
- To systematically analyze formal modeling, specification, and verification techniques for smart contracts.
- To identify common properties and security guarantees verified in smart contract literature.
- To classify formal methods based on their application to functional correctness and security.
- To highlight limitations in current approaches and suggest future research directions.
- To promote adoption of formal methods through standardized practices and verified libraries.
Proposed method
- The survey conducts a systematic literature review focusing on formal methods applied to smart contracts, using structured search queries on Google Scholar.
- It classifies formal modeling techniques into contract-level and program-level representations, with emphasis on model checking and symbolic execution.
- The authors develop a taxonomy of smart contract properties, including functional correctness, security, and temporal properties such as fairness and liveness.
- It evaluates verification techniques such as symbolic execution, theorem proving, and runtime verification, with case studies on Ethereum smart contracts.
- The study incorporates hybrid approaches combining static and dynamic analysis, and evaluates automated patch generation guided by test suites and gas efficiency.
- It reviews benchmark datasets, security patterns, and formally verified libraries like SafeMath to assess practical adoption and tool effectiveness.
Experimental results
Research questions
- RQ1What formal techniques are used for modeling, specifying, and verifying smart contracts, and what properties are commonly targeted?
- RQ2How do contract-level and program-level formalisms compare in verifying functional correctness and security?
- RQ3What are the key challenges in applying formal methods to smart contracts due to blockchain-specific constraints?
- RQ4How effective are hybrid analysis techniques combining static and dynamic verification for detecting vulnerabilities?
- RQ5What role do standardized patterns, verified libraries, and benchmarking play in advancing formal verification of smart contracts?
Key findings
- Model checking is widely used for verifying functional correctness at the contract-level, particularly for properties like invariants and liveness.
- Symbolic execution and theorem proving are dominant for program-level verification, especially for detecting security vulnerabilities such as reentrancy and overflow.
- Runtime verification techniques effectively analyze execution traces to detect violations of temporal properties like fairness and deadlock.
- Automated patch generation guided by test suites and gas constraints has shown promise in repairing vulnerabilities without breaking existing behavior.
- The adoption of formally verified libraries such as SafeMath demonstrates the feasibility and impact of formal methods in practice.
- A growing trend toward collaborative standardization and benchmarking is observed, with curated datasets and evaluation frameworks improving tool reliability and reproducibility.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.