2017-08-29 19:34:30 +04:00

32 строки
1.0 KiB
Markdown

# Comminute
The code here is intended to be some basics that help with learning
the LLVM API. The points dealt with here are:
- Pass manager use
- Pass dependency
- Some basic IR instruction and value analysis
- Use/User API
It is not meant to be a some great bug hunting tool. It is meant
to help get you to the point where you can start to think about
interprocedural and other analyses. Once you get the feel you
should start to look at other code, like SVF, to get into things.
You should look at building CFGs so you can evaluate globals
better. You should look at some extended interprocedural SSA or
perhaps using Andersen's Alias Analysis for analyzing pointers.
There is a lot to doing good static analysis and that's where the
meat of the research is!
I repeat... Just a learning tool.
### Multiple potentially dangerous examples
The potent-danger examples are there to illustrate you can do the
thing a few different ways. Essentially, depending on your
design needs and end goals, you may want to implement one
methodology or another...