/
Static Analysis Plug-ins
Static Analysis Plug-ins
How to delegate "static analysis" action to the static analysis plug-ins
eg) dexter-findbugs plug-in
- a static analysis plug-in should implements "IDexterPlugin" interface
- and should add JSPF "@PluginImplementation" annotation.
- Dexter PluginManager in dexter-executor project will use the static analysis plug-in by the IDexterPlugin interface.
IDexterPlug-in Interface
com.samsung.sec.dexter.core.plugin.IDexterPlugin.java in the dexter-core project
Two ways
- JSPF Libraries(Dexter CLI) : add @PluginImplementation annotation
- Eclipse Plug-in Extension Point (Eclipse Plugin) : implements IDexterPlugin
1) JSPF Libraries
2) Eclipse Plug-in Extension
refer to below example
How to create a static analysis plug-in
a sample plug-in : dexter-opensource.zip
1) Create Plugin Project
New > Plug-in Project
2) Edit MANIFEST.MF file
Overview tab
Dependencies tab
Runtime tab
Build tab
Extensions tab
- add 'dexter-executor.DexterPlugin extension point
- then, create your own XxxDexterPlugin class
3) Implements IDexterPlugin interface
this java file is create by "Extensions" tab in the previous step.
eg) counting number of ';' in a source file.
4) Run
eg) after creating a sample java file, the result looks like the below:
Sample Class Diagram for dexter-vd-cpp plug-in
init() Method
- called only once when the static analysis is loading
- CheckerConfig object should be initialized at that time
, multiple selections available,
Related content
Static Analysis Plug-ins (Korean)
Static Analysis Plug-ins (Korean)
More like this
Components
Components
More like this
Main Entities
Main Entities
More like this
Main Entities (korean)
Main Entities (korean)
More like this
Source Insight
Source Insight
More like this
Dexter Eclipse
Dexter Eclipse
More like this