MIT Libraries logoDSpace@MIT

MIT
View Item 
  • DSpace@MIT Home
  • MIT Libraries
  • MIT Theses
  • Graduate Theses
  • View Item
  • DSpace@MIT Home
  • MIT Libraries
  • MIT Theses
  • Graduate Theses
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Vulcan : classifying vulnerabilities in solidity smart contracts using dependency-based deep program representations

Author(s)
Srikant, Shashank.
Thumbnail
Download1192495700-MIT.pdf (829.5Kb)
Alternative title
Classifying vulnerabilities in solidity smart contracts using dependency-based deep program representations
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Una-May O'Reilly.
Terms of use
MIT theses may be protected by copyright. Please reuse MIT thesis content according to the MIT Libraries Permissions Policy, which is available through the URL provided. http://dspace.mit.edu/handle/1721.1/7582
Metadata
Show full item record
Abstract
As domain specific languages such as Solidity for Ethereum have emerged to program blockchain distributed ledgers, domain-specific bugs and vulnerabilities have reciprocally arisen. In this thesis, I propose a machine learning approach to designing classifiers which can flag specific lines of programs containing such vulnerabilities. This classification task calls for reasoning beyond what tokens are in a line to reasoning about how each token lies within a control context (e.g. loop) and how its meaning depends on its preceding definition. We present a neural architecture, Vulcan, which employs a distributed representation in a latent feature space to express these properties, while ensuring that lines of similar meaning have similar features. Using paths of the program's abstract syntax tree (AST), Vulcan inputs contextual information about tokens in a line to a bi-directional LSTM with an attention mechanism. It concurrently represents the meaning of a token in a line by recursively embedding all preceding lines where it is defined. In our experiments, Vulcan compares favorably with a state-of-the-art classifier that requires significant preprocessing of programs, suggesting the utility of using deep learning to model program dependence information.
Description
Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, May, 2020
 
Cataloged from the official PDF of thesis.
 
Includes bibliographical references (pages 49-51).
 
Date issued
2020
URI
https://hdl.handle.net/1721.1/127365
Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Publisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.

Collections
  • Graduate Theses

Browse

All of DSpaceCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

Login

Statistics

OA StatisticsStatistics by CountryStatistics by Department
MIT Libraries
PrivacyPermissionsAccessibilityContact us
MIT
Content created by the MIT Libraries, CC BY-NC unless otherwise noted. Notify us about copyright concerns.