-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
31 lines (19 loc) · 1.05 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
TAINT ANALYSIS FOR CUDA KERNELS
INSTALLATION:
This document is created based on the link: http://llvm.org/docs/Projects.html,
if you have further questions, please refer to it for more information.
1. Place the TaintAnalysis directory under 'llvm/projects'
2. Go into 'TaintAnalysis' directory, and run './configure --with-llvmsrc=<directory>'
command to configure
3. Run 'make' to build a shared library, and the shared library
resides in the same directory as the source code
RUN:
The taint analyser consists of three llvm passes, which performs a combination of
use-def chain analysis and alias analysis to perform taint analysis on CUDA kernels.
To run the analyser:
sesa < [input_llvm_bytecode] > [output_llvm_bytecode]
1. The taint analyser outputs informative messages on which variables shall
be symbolized in a file named "summary.txt"
2. The taint analyser annotates the input llvm bytecode with LLVM metadata
and generates the new llvm bytecode containing LLVM annotations that are used
to prune redundant flows in the symbolic execution stage.