The listed publications conduct a survey and/or empirical analysis on smart contract applications, challenges, languages, vulnerabilities, and verification techniques, or propose security and design patterns for their development.

Publication Authors Venue Year Subject Platform
Formal models of Bitcoin contracts: A survey Bartoletti and Zunino Frontiers in Blockchain 2019 Formal models, Modeling languages Bitcoin
Formal verification of smart-contract languages: A survey V. Dwivedi et al. ICACDS 2019 Programming languages Ethereum, RChain, Æternity, etc.
A survey of tools for analyzing Ethereum smart contracts di Angelo and Salzer IEEE DAPPCON 2019 Verification tools Ethereum
A survey on security verification of blockchain smart contracts Liu anf Liu IEEE Access 2019 Verification tools Ethereum
Blockchain-enabled smart contracts: Architecture, applications, and future trends Wang et al. IEEE Trans. Syst. Man Cybern. Syst. 2019 Applications, Challenges, Operational mechanism, Research framework Ethereum, Hyperledger Fabric
Bug searching in smart contract Feng et al. arXiv 2019 Verification tools, Vulnerabilities Ethereum
Smart contract development: Challenges and opportunities Zou et al. IEEE TSE 2019 Challenges, Developer survey Ethereum
A survey on Ethereum systems security: vulnerabilities, attacks and defenses Chen et al. ACM CSUR 2019 Vulnerabilities, Attacks, Verification tools Ethereum
Security, performance, and applications of smart contracts: A systematic survey Rouhani and Deters IEEE Access 2019 Vulnerabilities, Verification tools, Applications, Performance Ethereum
Security analysis methods on Ethereum smart contract vulnerabilities: A survey Praitheeshan et al. arXiv 2019 Vulnerabilities, Verification tools, Attacks, Challenges Ethereum
Opportunities, challenges, and future extensions for smart-contract design patterns Worley and Skjellum BIS 2018 Design patterns Ethereum
Towards automated generation of bug benchmark for smart contracts Ye et al. IEEE ICSTW 2019 Vulnerabilities, Verification tools, Benchmark Ethereum
Towards safer smart contracts: A survey of languages and verification methods Harz and Knottenbelt arXiv 2018 Programming languages, Verification tools Ethereum, Bitcoin, Tezos, etc.
Empirical vulnerability analysis of automated smart contracts security testing on blockchains Parizi et al. CASCON 2018 Verification tools Ethereum
Smart contract programming languages on blockchains: An empirical evaluation of usability and security Parizi et al. ICBC 2018 Programming languages, Human study Ethereum, Tezos, Kadena
Literature review: Smart contract semantics Mathur arXiv 2018 Formal models, Modeling language N/A
Will that smart contract really do what you expect it to do? Everts and Muller White paper 2018 Verification tools, Challenges Ethereum, Hyperledger Fabric, etc.
Smart contracts: Security patterns in the Ethereum ecosystem and Solidity Wöhrer and Zdun IEEE IWBOSE@SANER 2018 Design patterns Ethereum
Design patterns for smart contracts in the Ethereum ecosystem Wöhrer and Zdun IEEE iThings, GreenCom, CPSCom, SmartData 2018 Design patterns Ethereum
Smart contracts and opportunities for formal methods Miller et al. ISoLA 2018 Programming languages, Verification tools, Challenges Ethereum, Bitcoin, RChain, Tezos, etc.
Validation and verification of smart contracts: A research agenda Magazzeni et al. IEEE Computer 2017 Challenges Ethereum, Bitcoin
An empirical analysis of smart contracts: platforms, applications, and design patterns Bartoletti and Pompianu FC 2017 Design patterns, Applications Ethereum, Bitcoin
Scripting smart contracts for distributed ledger technology Lamela Seijas et al. FC 2016 Programming languages, Vulnerabilities, Challenges, Verification techniques Bitcoin, Nxt, Ethereum, etc.
A pattern collection for blockchain-based applications Xu et al. ACM EuroPLoP 2018 Design patterns Ethereum, Bitcoin, etc.
Blockchain-based smart contracts: A systematic mapping study of academic research Alharby et al. IEEE ICCBB 2018 Vulnerabilities, Applications, Challenges Ethereum, Bitcoin, Nxt
Evaluation of tools for analyzing smart contracts in distributed ledger technologies Kirillov et al. ICCSA 2019 Vulnerabilities, Verification tools Ethereum
Blockchain smart contracts formalization: Approaches and challenges to address vulnerabilities Singh et al. Computers & Security 2020 Formal models, Modeling languages, Programming languages, Verification tools Ethereum, Bitcoin, etc.
Empirical review of automated analysis tools on 47,587 Ethereum smart contracts Durieux et al. IEEE/ACM ICSE 2020 Verification tools, Benchmark Ethereum
Towards principled compilation of Ethereum smart contracts (SoK) Arias IFIP NTMS 2019 Challenges Ethereum
A large-scale empirical study on control flow identification of smart contracts Chen et al. ACM/IEEE ESEM 2019 Verification tools Ethereum
Smart contract development from the perspective of developers: Topics and issues discussed on social media Ayman et al. FC 2020 Developer discussions, Vulnerabilities, Verification tools Ethereum
Smart contract security: A software lifecycle perspective Huang et al. IEEE Access 2019 Vulnerabilities, Verification tools, Challenges Ethereum, Hyperledger Fabric
Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab Delmolino et al. FC 2016 Vulnerabilities Ethereum
A unifying model of legal smart contracts Ladleif and Weske ER 2019 Formal models, Modeling languages, Challenges Ethereum, Bitcoin, etc.
Understanding the software development practices of blockchain projects: A survey Chakraborty et al. ACM/IEEE ESEM 2019 Human study, Software development, Verification techniques Ethereum, Bitcoin, Hyperledger Fabric, Monero, etc.
Security vulnerabilities in Ethereum smart contracts Mense and Flatscher ACM iiWAS 2018 Vulnerabilities, Verification tools Ethereum
Lessons learned from implementing a privacy-preserving smart contract in Ethereum Unterweger et al. IFIP NTMS 2018 Privacy Ethereum
An analysis of smart contracts security threats alongside existing solutions López Vivar et al. Blockchain: Security, challenges, and opportunities 2020 Vulnerabilities, Attacks, Verification tools Ethereum
Defining smart contract defects on Ethereum Chen et al. IEEE TSE 2020 Vulnerabilities, Challenges, Human study Ethereum
Characterizing types of smart contracts in the Ethereum landscape di Angelo and Salzer FC 2020 Smart contract types, Account behavior, Code variety Ethereum
Wallet contracts on Ethereum di Angelo and Salzer arXiv 2020 Smart contract types, Account behavior, Wallet Ethereum
Characterizing EOSIO blockchain Huang et al. arXiv 2020 Account behavior, Vulnerabilities, Attacks, Challenges EOS.IO
A behavior-aware profiling of smart contracts Wei et al. SecureComm 2019 Smart contract types, Account behavior, Challenges Ethereum
What are the actual flaws in important smart contracts (and how can we find them)? Groce et al. FC 2020 Vulnerabilities, Verification tools Ethereum
Traveling the token world: A graph analysis of Ethereum ERC20 token ecosystem Chen et al. WWW 2020 Smart contract types, Account behavior, ERC20 Ethereum
Why do smart contracts self-destruct? Investigating the Selfdestruct function on Ethereum Chen et al. arXiv 2020 Vulnerabilities, Account behavior Ethereum
How effective are smart contract analysis tools? Evaluating smart contract static analysis tools using bug injection Ghaleb and Pattabiraman ACM ISSTA 2020 Vulnerabilities, Verification tools Ethereum
Smart contract vulnerabilities: Does anyone care? Perez and Livshits arXiv 2020 Vulnerabilities, Verification tools Ethereum
Ethereum smart contracts verification: A survey and a prototype tool Bogdanich Espina Bachelor's Thesis 2020 Verification tools Ethereum
Potential risks of Hyperledger Fabric smart contracts Yamashita et al. IEEE IWBOSE@SANER 2019 Vulnerabilities Hyperledger Fabric
Survey of formal verification methods for smart contracts on blockchain Murray and Anisi IFIP NTMS 2019 Verification tools Ethereum
A survey of attacks on Ethereum smart contracts Atzei et al. POST 2017 Vulnerabilities, Attacks Ethereum
Foundations and tools for the static analysis of Ethereum smart contracts Grishchenko et al. CAV 2018 Verification tools, Programming languages, Challenges Ethereum