Testing Smart Contracts

Smart contracts are blockchain based contracts which bind multiple parties through executable programs. “Code is Law”! They are believed to revolutionize many industries. Like traditional programs, smart contracts may suffer from bugs and vulnerabilities. Unlike traditional programs, due to the nature of blockchain, smart contracts cannot be easily patched. It is thus important that smart contracts are thoroughly tested or, even better, verified.

Key Publications

sGuard: Towards Fixing Vulnerable Smart Contracts Automatically.
Tai D. Nguyen, Long H. Pham, Jun Sun.
2021 IEEE Symposium on Security and Privacy, SP 2021, May 24-27, 2021.

Semantic Understanding of Smart Contracts: Executable Operational Semantics of Solidity.
Jiao Jiao, Shuanglong Kan, Shang-Wei Lin, David Sanán, Yang Liu, and Jun Sun.
2020 IEEE Symposium on Security and Privacy, SP 2020, San Francisco, CA, USA, May 18-21, 2020.

sFuzz: an efficient adaptive fuzzer for solidity smart contracts.
Tai D. Nguyen, Long H. Pham, Jun Sun, Yun Lin, and Quang Tran Minh.
ICSE ‘20: 42nd International Conference on Software Engineering, Seoul, South Korea, 27 June - 19 July, 2020.

A Generalized Formal Semantic Framework for Smart Contracts.
Jiao Jiao, Shang-Wei Lin, and Jun Sun.
Fundamental Approaches to Software Engineering - 23rd International Conference, FASE 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25-30, 2020, Proceedings.

Tools

People

SUN Jun
Associate Professor
PHAM Hong Long
PHAM Hong Long
Research Fellow
Richard SCHUMI
Research Fellow
GAO Bo
PhD Student (SUTD)