Svace 3.2.1 server user guide
Svace is an automatic defect detection tool for programs written in C and C++, based on static analysis. This program is copyright Institute for System Programming of the Russian Academy of Sciences (ISP RAS).
Svace is currently optimized for analysis of typical applications with command line interface written for Linux, primarily in C or C-style C++. Source code for different environments can be analyzed as well, but if it relies on libraries unknown to the tool instead of the standard ones, or heavily uses unexpected idioms, the quality of analysis results may decrease. Some of the warning types are also specific to Linux applications.
Outline
This User Guide includes the following main sections:
- Introduction
- Setting up server list
- Using remote analysis (description of the main use cases)
- Using remote history
Introduction
Svace analysis and history server allows users to run analysis remotely using resources of the server and (or) share users' history modifications. It can handle multiple users working simultaneously with different projects. Currently it is only usable through the Eclipse plugin.
Setting up server list
First, remote svace servers that are to be used for a specific project should be set up in Eclipse. Open the corresponding project properties and select «Analysis&History servers» in the «Svace» section:
This window shows all servers registered for the given project. First entry «Local» implements local analysis; it does not require a working Svace server and it cannot be removed.
Remote servers are added with the «Add remote server» button. It opens a dialog where server address and port are set up. It also has a project directory id to work with:
If a login and a password are required to access a remote analysis server check «Use authorization» checkbox and enter authorization data in the next dialog. Remote servers with provided authorization data are marked with a key («⚷») symbol in the server list.
Default analysis server can be selected with a «Mark default» button.
Using remote analysis
Remote analysis can be started with the «Analyze with Svace as» option in the project menu. This is how it can look:
First section allows to quickly analyze selected project with the given analysis configuration on the project's default server. If the default project server is «Local» then a local analysis will occur, otherwise analysis will be scheduled on the remote server.
The next new menu item is called «Advanced&Remote analysis». It starts up a dialog with more options:
This dialog allows to select a project to analyze, a server to analyze the project at, and additional analysis settings. Also, if this project has already been analyzed before, Svace will store information about its previous builds and you will be able to re-analyze old builds without rebuilding them first by selecting old builds in the «Build» dropbox.
Reconnecting to old analysis
When using a Svace remote analysis server a user isn't required to wait the whole analysis duration with an open IDE. After the analysis data transfer is complete the user may close the IDE and have a break. When the IDE is opened the next time the user will find a new option called «Missed results» in the project's context menu. It contains a list of all the analyses that were started but whose results haven't been received yet:
By selecting a run to reconnect to, the user will either continue to observe the analysis progress if it hasn't stopped yet, or will instantly get analysis results if corresponding analysis was finished.
Using remote history
To synchronize history with a server open project's analysis results with «Show last analysis results» menu entry and select server from the selector on the toolbar:
After selecting a server sync process will begin. It will fetch history events from the server side, merge your local modifications above server's, and send your modifications back to the server.
Also, history engine allows to see each warning's history by using a «View history» button on the warning's card: