/Safe-SmartContracts

A Sequence Learning Approach to Detecting Vulnerabilities

Primary LanguageJupyter Notebook

Folder---input_data

This folder contains 3 csv files of distinct suicidal, prodigal, and greedy FPs.

* clean_test_suicidalFP_noDups
* clean_test_leakFP_noDups
* clean_test_greedyFP_noDups

Folder---saved_model

This folder contains trained models, with the latest one being 'V6_620k_batch9'

* LSTM
* improved_LSTM
* V6_620k_batch9 

Jupyter Notebooks

Jupyter notebooks for prototyping and evaluation:

* Learning Smart Contract Security Exploits
* Learning Smart Contract Security Exploits_addedFPs
* Learning Smart Contract Security Exploits_addedFPs_Evaluation

Python Scripts

Python scripts for running experiments:

* Learning Smart Contract Security Exploits
* Learning Smart Contract Security Exploits_addedFPs
* Learning Smart Contract Security Exploits_revised - the latest script which trains the LSTM model on code vectors of Smart Contracts. 

-Code for academic research.