Notable Works in Tooling and Languages

SCRF is crowd-sourcing a list of key readings in each forum category to point readers to notable works and foundational research. Please comment in this thread with links to seminal research that could form part of an introductory graduate seminar in this category.

Please format your additions using the template below:

## [Category Name]

### [Full Paper Title]

- **Source:** <[Link]>
- **Authors:** [Author 1, Author 2, etc.]
- **Description:** [One sentence description of the work]
- **Relevance:** [Once sentence explaining the special relevance of this work]
- **Citation:** [Citation and abstract in plaintext]
- **Tags:** [Relevant forum tags, if any]

As with every post in SCRF, a discussion is highly encouraged, please be prepared to explain why your link should be added to the canonical list.

We are also offering a bounty for all successful additions.


Notable Works in Tooling and Languages

Vyper: A security comparison with solidity based on common vulnerabilities

  • Source: https://arxiv.org/abs/2003.07435v4
  • Authors: Mudabbir Kaleem, Anastasia Mavridou, Aron Laszka
  • Description: This paper provides a qualitative analysis of Vyper from a standpoint of common vulnerabilities found in Solidity smart contracts
  • Relevance: This paper is relevant because it points the issues that Vyper solves in comparison to Solidity and which ones remain unsolved.

Safer smart contract programming with Scilla

  • Source: https://dl.acm.org/doi/pdf/10.1145/3360611 (presentation also available)
  • Authors: Lya Sergey, Vaivaswatha Nagaraj, Jacob Johannsen, Amrit Kumar, Anton Trunov, and Ken Chan Guan Hao
  • Description: This paper presents and evaluates Scilla, a industrial graded smart contract programming language with built-in security mechanisms
  • Relevance: This paper is relevant because it shows how Scilla is safe by design, as well as a framework for light-weight verification of Scilla programs. Official page: https://scilla-lang.org/.

A Survey of Tools for Analyzing Ethereum Smart Contracts

  • Source: https://arxiv.org/abs/2105.06974v1
  • Authors: Monika Di Angelo, G. Salzer
  • Description: This paper catalogs different analysis tools currently available (at the time of writing), making a qualitatively comparison between them
  • Relevance: This paper is relevant because it gives a list of useful tools that developers could experiment with, as well as a starting point for researchers grasping the current state of the art.

Slither: A Static Analysis Framework For Smart Contracts

  • Source: https://arxiv.org/pdf/1908.09878.pdf
  • Authors: Josselin Feist, Gustavo Grieco, Alex Groce
  • Description: This paper describes Slither, a static analysis tool for Solidity contracts.
  • Relevance: This paper is relevant since Slither is a widely used tool supporting automatic identification of certain classes of vulnerabilities, refactoring opportunities, and general optimizations.

Smashing Ethereum Smart Contracts for Fun and Real Profit

KEVM: A Complete Semantics of the Ethereum Virtual Machine

  • Source: https://ieeexplore.ieee.org/document/8429306
  • Authors: Everett Hildenbrandt and Manasvi Saxena and Xiaoran Zhu and Nishant Rodrigues and Philip Daian and Dwight Guth and Brandon Moore and Yi Zhang and Daejun Park and Andrei Stefanescu and Grigore Rosu
  • Description: This paper describes an executable formal specification of the Ethereum Virtual Machine using the K framework
  • Relevance: This paper is relevant because the KEVM spec can be extended to prove smart contracts correctness
5 Likes

Thank you for brilliant list! Added some tools from it to my base, they are stored in Security and General section + In Tools List

3 Likes