TrojanSAINT
TrojanSAINT: Gate-Level Netlist Sampling-Based Inductive Learning for Hardware Trojan Detection
Install / Use
/learn @DfX-NYUAD/TrojanSAINTREADME
TrojanSAINT: Gate-Level Netlist Sampling-BasedInductive Learning for Hardware Trojan Detection
Training/Validation/Test Preparation
To prepare your training, validation and test sets, first ensure you have the train, val, and test directories. If not, you can simply make them by running
mkdir train
mkdir val
mkdir test
Go into your nets directory
cd nets
Run split.py. Be careful that you have nothing important in your train, val, and test as this script will empty them. split.py accepts a single integer as argument indicating which file will be used for testing. This integer indicates the position of the file in alphabetical order (so an argument of 0 will select rs232t1000.v, for example)
python split.py
Converting Into Graph
We provide a parser that takes the verilog files as input and converts them into the format needed for use with GraphSAINT
To run it, you first need to prepare your training, validation and test sets as described above. Then simply run:
python parser.py
Note that the script needs verilog_lib.v in the same directory. Once it is run, adj_full.npz, adj_train.npz, class_map.json, feats.npy, role.json will be generated. Those can then be used with GraphSAINT
Training and Inference with GraphSAINT
Training and inference is done on GraphSAINT, which is included here as submodule.
We make slight modifications to the graphsaint/pytorch_version/train.py file to save the outputs, and we include the modified version in this repo, so make sure to use this submodule here. To run training, simply follow the instructions on the GraphSAINT repository using the new files and the DATE21.yaml
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
