State-based Invariant Property Generation of Solidity Smart Contracts using Abstract Interpretation

被引:1
作者
Halder, Raju [1 ]
机构
[1] Indian Inst Technol Patna, Patna, India
来源
2024 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN, BLOCKCHAIN 2024 | 2024年
关键词
Blockchain; Smart Contract; Solidity; Semantics; Abstract Interpretation; Invariant Property;
D O I
10.1109/Blockchain62396.2024.00038
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Solidity sets its place as one of the most popular and widely-used smart contract language for Ethereum in recent years. To automate the verification of Solidity codes, especially in case of critical systems, this is intrinsic to synthesize their invariant properties which hold in every valid executions. This paper defines a formal semantics of Solidity subset and introduces an Abstract Interpretation-based sound semantics approximation to infer state-based invariant properties of Solidity contracts. The intuition behind our proposal is to apply abstraction to all possible states reachable on the executions of the contract's functions in any order under all possible instantiation context, which reflects the decentralized mining strategies in the blockchain networks. The invariant computation is expressed as a fixpoint solution of state-based functions in an abstract domain of interest, based on the generic static analysis framework.
引用
收藏
页码:235 / 242
页数:8
相关论文
共 22 条
[1]  
Chen LQ, 2008, LECT NOTES COMPUT SC, V5356, P3
[2]   Widening and narrowing operators for abstract interpretation [J].
Cortesi, Agostino ;
Zanioli, Matteo .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2011, 37 (01) :24-42
[3]  
Cousot P., 1978, PROC POPL 78, P84, DOI DOI 10.1145/512760.512770
[4]   Program Analysis Is Harder Than Verification: A Computability Perspective [J].
Cousot, Patrick ;
Giacobazzi, Roberto ;
Ranzato, Francesco .
COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 :75-95
[5]  
Cousot Patrick., 1977, POPL, DOI DOI 10.1145/512950.512973
[6]   Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts [J].
Durieux, Thomas ;
Ferreira, Joao F. ;
Abreu, Rui ;
Cruz, Pedro .
2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, :530-541
[7]  
Ethereum, SOLIDITY DOCUMENTATI
[8]   Slither: A Static Analysis Framework For Smart Contracts [J].
Feist, Josselin ;
Greico, Gustavo ;
Groce, Alex .
2019 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN (WETSEB 2019), 2019, :8-15
[9]   Extending Abstract Interpretation to Dependency Analysis of Database Applications [J].
Jana, Angshuman ;
Halder, Raju ;
Kalahasti, Abhishekh ;
Ganni, Sanjivani Devi ;
Cortesi, Agostino .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (05) :463-494
[10]  
Jones NeilD., 1982, Symposium on principles of programming languages, P66, DOI DOI 10.1145/582153.582161