This is a pass collection of static analyzers based on LLVM, which implement the instance introduced in each chapter of Anders Møller's note.
The typical passes are as follows:
ParameterCounter
: Count the (floating-point) arguments of each function.LiveVariableViaInst
: Perform an intraprocedural path-insensitive live variable analysis for a C program. Transfer liveness information in the granularity of instructions.LiveVariableViaBB
: Perform an intraprocedural path-insensitive live variable analysis for a C program. Transfer liveness information in the granularity of basic blocks.FileStateSimulator
: Check file property by intraprocedural path-sensitive analysis based on collecting paths exhaustively.InterSignAnalysis
: Analyze the sign information of integral variables by function clone based interprocedural analysis.VirtualFuncAnalysis
: Analyze the virtual calls based on CHA(Class Hierarchy Analysis) and RTA(Rapid Type Analysis).IntervalAnalysis
: Perform an intraprocedural range analysis based on abstract interpretation on interval domain.