dc.creator | Ford, Terrell | |
dc.date.accessioned | 2022-08-09T17:05:12Z | |
dc.date.available | 2022-08-09T17:05:12Z | |
dc.date.created | 2022-05 | |
dc.date.submitted | May 2022 | |
dc.identifier.uri | https://hdl.handle.net/1969.1/196585 | |
dc.description.abstract | This project benchmarks the operation of existing Ethereum smart contract static analysis tools. This is to support the proliferation of tools which allow developers to screen their Ethereum smart contracts for security vulnerabilities and determine what tool or tool suite would be most appropriate for bulk scanning of the entire Ethereum decentralized finance (DeFi) space. This is achieved by comparing the relative performance of several separate static analysis tools on various curated smart contracts. Each tool is made to analyze a list of smart contracts which have known vulnerabilities of various categories dispersed throughout. The resulting output of each static analysis tool is analyzed in several key ways. First, the general runtime of the tool is measured for each input smart contract. This is broken down into metrics such as time taken per line of code, time per kilobyte of file size, and time vs code complexity. Second, the number of vulnerabilities detected by each tool is taken into account. Each tool is capable of detecting different types of vulnerabilities with substantial overlap between tools. The capabilities of the tools are evaluated and scored based on the number of total vulnerabilities found, as well as how many different types of vulnerabilities are capable of being found. Finally, the general accuracy of each tool is compared. The number of false positives and false negatives for each vulnerability category and tool are displayed and compared. Added together, these benchmarking categories are combined into an overall usability score for each tool. This usability score is employed to determine what tool or set of tools could be used to screen individual smart contracts, as well as bulk scan the entire DeFi space. | |
dc.format.mimetype | application/pdf | |
dc.subject | Ethereum | |
dc.subject | decentralized finance | |
dc.subject | DeFi | |
dc.subject | static analysis | |
dc.subject | smart contract | |
dc.subject | mythril | |
dc.subject | slither | |
dc.subject | conkas | |
dc.subject | smartcheck | |
dc.title | Benchmarking Ethereum Smart Contract Static Analysis Tools | |
dc.type | Thesis | |
thesis.degree.department | Computer Science & Engineering | |
thesis.degree.discipline | Computer Engineering, Computer Science Track | |
thesis.degree.grantor | Undergraduate Research Scholars Program | |
thesis.degree.name | B.S. | |
thesis.degree.level | Undergraduate | |
dc.contributor.committeeMember | Huang, Jeff | |
dc.type.material | text | |
dc.date.updated | 2022-08-09T17:05:12Z | |
local.etdauthor.orcid | 0000-0002-3226-7020 | |