Debug School

Cover image for Install Coverity Server
Suyash Sambhare
Suyash Sambhare

Posted on

Install Coverity Server

Software testing is a critical step in the development process. Coverity is a static analysis solution that makes it possible to address software issues early in the development life cycle by analyzing source code to identify the following kinds of problems:

  • Software quality and security issues
  • Violations of common coding standards

The static analysis solution includes analysis tools as well as management tools. Analysis tools scan your code and flag issues. Management tools allow you to store results, fine-tune the testing configuration, monitor trends, and produce reports. You can also use Coverity tools to manage issues found by third-party tools.

As a testing method, static analysis offers the following advantages:

  • You can test code as soon as there is one function that can be parsed.
  • You don't need to have a buildable or working system to do analysis.
  • Static analysis allows you to correct problems before they become embedded in your code and require costly fixes or workarounds.
  • You test every possible path through your code.
  • As applications grow, achieving test coverage using dynamic testing methods becomes costly and computationally prohibitive.
  • Coverity can test all paths through the code, even ones that are extremely difficult to test manually such as error conditions that would only be triggered in the case of hardware failure.
  • It is deterministic: Analysis of the same code base yields the same results.
  • It can analyze large code bases very quickly. Coverity uses algorithms that are designed to scale for large applications.

To find issues, Coverity first scans your code and then calculates a call graph. Based on the dependencies defined in the graph, it derives all possible paths through your code. Finally, it traverses every path looking for events that result in security or quality issues, and it displays those issues as they occur in your source, with information about each issue's cause and remediation.

Installation Architecture

Linux/Unix Description
cov-aa-build-check-cva-all-version.zip Build-check CVA Developer Desktop Application.
cov-aa-build-check-java-all-version.zip Build-check Java Developer Desktop Application.
cov-aa-build-cva-all-version.zip Architecture Analysis Build CVA.
cov-aa-build-eclipse-feature-version.zip C/C++ CVA-based Eclipse Architecture Analysis plugin
cov-aa-build-java-all-version.zip Architecture Analysis Build Java.
cov-aa-cva-unix-version.tar.gz Architecture Analysis CVA for Unix.
cov-aa-java-intellij15-plugin-version.zip Plug-in for the IntelliJ IDE version 15.
cov-aa-java-unix-version.tar.gz Java version of Architecture Analysis for Unix.
cov-aa-server-version.zip Web application to run Architecture Analysis.

Minimum requirements

CPU - There is no CPU minimum on hardware | 4 vCPU on the VM
RAM - 1.5 GiB minimum on hardware | 32GB RAM on VM
Disk - There are no Disk minimums | Minimum 2000 IOPS reserved on VM
Ports - 8443, 8080, 9090, 8005

Coverity Components

Platform installer

  • The Coverity Platform installer is available from the Synopsys Software Integrity (SIG) Community repository.
  • Log in to SIG Community at https://community.synopsys.com.
  • Navigate to the Software Licenses page.
  • Click the View/Request Docker Registry Credential button.
  • Email is sent to your Community account email address with further instructions.

Coverity Connect
If this user's home directory is set to noexec, you must set the Java property jna.tmpdir to a location that is not set to noexec.
Run the installer script:
./cov-platform-linux64-2022.9.0.sh
Note: Log in as root to install Coverity Platform.

  • Complete the installation process:
  • Select and accept the license agreement for your region of the world.
  • Select the Fresh Installation option.
  • Enter the destination directory for the installation.
  • Enter the location of the Coverity license file (license.dat).
  • Choose the database type for Coverity Connect. You can choose the embedded PostgreSQL database that is bundled within the installer or opt to connect to an external database that is hosted on a PostgreSQL server.

If you chose the External database option, enter the following PostgreSQL configuration parameters for the database you will use:

PostgreSQL server name
Database port
Database name
Database user
Database password
SSL mode
Root certificate
Perform client authentication
Client certificate
Client certificate key
Key password
Enter fullscreen mode Exit fullscreen mode

Performance Tuning

Production - This tuning configuration allows you to use all of the installed RAM on your system.
Demo - Will run on a small computer and does not require the full 8GB of recommended RAM. You should not use this option for any production system. This option should be used for proof-of-concept or testing environments only.

  • Choose and confirm the Coverity Connect administrator password.
  • Choose the hostname configuration.
  • Choose from the hostname of your machine or the IP address.
  • Enter the HTTP port number.
  • After the installation is completed, a record of some of this information is also available in the following files:
<install_dir>/config/cim.properties
<install_dir>/config/web.properties
<install_dir>/config/system.properties
The Tomcat configuration files are located at:
<install_dir>/server/base/conf/server.xml
Enter fullscreen mode Exit fullscreen mode

Sutlej

Check your installation

Launch Coverity Connect by entering one of the following URLs into your web browser:
http://hostname:http_port
https://hostname:https_port

Sign in to Coverity Connect with the username admin, and the administrator password that you previously created.
After you have configured Coverity Connect to use the appropriate certificates, you will be able to log into the system.

Silent Installer

To run the silent installer, specify the installation utility with the -q option, followed by the installation parameters.

./cov-platform-linux64-2022.9.0.sh -q \
--installation.dir ~/cov-platform-linux64-2022.9.0 \
--license.region=0 \
--license.agreement=agree \
--license.path=/tmp/license.dat \
--db.type=0 \
--db.embedded.performance=0 \
--admin.password.env=ADMIN_PASSWORD \
--hostname=myhostname \
--http.port=14800 \
--commit.port=14801 \
--control.port=14802 \
--db.embedded.port=14803 \
Enter fullscreen mode Exit fullscreen mode

Congratulations! 👍✨🎉
You have successfully installed Coverity by Synopsys

Ref: https://community.synopsys.com/s/article/Coverity-Tutorial-Installing-Coverity-Analysis

Top comments (0)