cff-version: 1.2.0 title: Slither Analyzer message: >- If you use this software, please cite it using the metadata from this file. type: software authors: - given-names: Josselin family-names: Feist - given-names: Gustavo family-names: Grieco - given-names: Alex family-names: Groce identifiers: - type: doi value: 10.48550/arXiv.1908.09878 description: arXiv.1908.09878 - type: url value: 'https://arxiv.org/abs/1908.09878' description: arxiv - type: doi value: 10.1109/wetseb.2019.00008 repository-code: 'https://github.com/crytic/slither' url: 'https://www.trailofbits.com/' repository-artifact: 'https://github.com/crytic/slither/releases' abstract: >- Slither is a static analysis framework designed to provide rich information about Ethereum smart contracts. It works by converting Solidity smart contracts into an intermediate representation called SlithIR. SlithIR uses Static Single Assignment (SSA) form and a reduced instruction set to ease implementation of analyses while preserving semantic information that would be lost in transforming Solidity to bytecode. Slither allows for the application of commonly used program analysis techniques like dataflow and taint tracking. Our framework has four main use cases: (1) automated detection of vulnerabilities, (2) automated detection of code optimization opportunities, (3) improvement of the user's understanding of the contracts, and (4) assistance with code review. keywords: - Ethereum - Static Analysis - Smart contracts - EVM - bug detection - Software Engineering license: AGPL-3.0-only commit: 3d4f934d3228f072b7df2c5e7252c64df4601bc8 version: 0.9.5 date-released: '2023-06-28'