Use of Aegis
Aegis can analyze multi-file projects with one or more build targets. A build target is an executable file, or a static/dynamic library. It is possible to analyze program part including single files.
Aegis architecture
Aegis contains a set of programs: ssadump, ssald, ssaar, and s2a. ssadump, ssald, and ssaar utilities parse C/C++ project and build source code model. s2a application executes static analysis and defect detection.
User interfaces
Aegis has the following interfaces:
- plugin for Eclipse
- plugin for Netbeans
- web-interface
- command line interface
Eclipse plugin
Requires 3.5+ version of Eclipse.
Primary features:
- source code model building and project analysis in local or network mode (with dedicated analysis server)
- choice of entry point and analysis parameters
- results output with enumeration of detected defects
- backlight of source code defects
- view of log files
Netbeans plugin
Requires 6.8+ version of Netbeans.
Primary features:
- source code model building and project analysis in local or network mode (with dedicated analysis server)
- choice of entry point and analysis parameters
- results output with enumeration of detected defects
- backlight of source code defects and dead code
- view of log files
Web-interface
Primary features:
- source code model building and project analysis on the dedicated analysis server
- enumeration of detected defects
- backlight of source code defects
- representation of defect context
Command line interface
In command line mode Aegis user has maximum control on analysis process. Aegis includes command and parameter reference.
Example of project analysis (project is built using GNU make):
Model building:
$ make CC=ssadump LD=ssald $ ssadump main.c -o main
Analysis launch:
$ ./s2a.sh /path/to/project/main.ssasymtab $ Defect found 1 $ RES-03* [DEF] HIGH main.c:11:5 Trying to free incorrect pointer