Home Research Teaching Misc

Transformation Dependencies
General
AST based (or other intermediate representation)
AST manipulation (item generation, insertion, deletion)
Control flow analysis
Call graph analysis
 
Code migration
Type information
 
Instrumentation
Program points/event identification (Program entry, Program exit, func entry, function exit, callsite, etc)
Dominator Analysis
Control flow
Call graph
 
Restructuring
Data flow analysis
Control flow analysis
 
 
Bug finding dependencies
General
Program events/points identification
 
Deadlock/Livelock
Control flow analyisis
Loop/cycle detection
Lock graph analysis (dataflow/data dependency)
 
NULL/unintialised/freed pointer dereference
Data flow
Control Flow
Pointer alias analysis
Call graph analysis
 
Resource leaks
Program event/points identification
Control Flow
Call graph analysis
 
 
Semantic Bugs
Ability for user to specify rules
Type information
Control Flow
Call graph
Namespace / context identification