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.

Architecture

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

Eclipse screenshot

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 Netbeans screenshot

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