Frequently Asked Questions

The following is a list of frequently asked questions when considering a Squore installation.

Is the Squore solution self-hosted? Does it require internet access?

Squore can be installed within your network and does not require internet access.

How does licensing work?

A Squore Server installation contains a license file which defines how many active users are allowed to use the software. The license is specific to the server machine’s hardware and will have to be changed for a new one if the installation moves to a new environment.

It is not necessary to identify the machines where clients will run ahead of time.

You can find a complete description of Squore licensing in the Installation and Administration Guide in the section called The Squore License Server.

What languages does the source code parser support?

The following languages are available by default: ABAP, Ada, C, C++, MindC, C#, COBOL, Java, JavaScript, Fortran 77, Fortran 90, Objective-C, PHP, PL/SQL, Python, T-SQL, Visual Basic .NET, XAML, Lustre

You can add basic support for additional languages by consulting the Configuration Guide’s Adding More Languages to Squore Analyzer section.

How can I import results from a tool that is not available in Squore?

If you have results from a tool not currently supported by Squore’s Software Analytics analysis model, our open Data Provider framework lets you write more plugins, so you can import your results. Consult the Configuration Guide’s Addons} section for more information.

How often do you release new versions?

Squore releases use the following naming pattern: <major>.<minor>.<patch>.

A new major release of Squore comes out every year with new features and an improved analysis model. One or two minor releases may also come out during the year to bring new functionality without impacting the analysis model used in the existing major version.

Patch releases for maintained versions are released usually every 4 to 8 weeks to fix issues reported by customers. These patch releases are fully compatible with the major or minor release they bring fixes for. They do not affect your existing analysis results, unless explicitly stated in our release notes. A patch release never contains new features or functionality, only bug fixes.

You can keep track of release announcements by following our Squore Service Packs RSS feed, which you can find on Vector web site page: https://www.vector.com/int/en/support-downloads/downloads/service-packs/rss-feeds/.

How often should I upgrade?

If you install a production server that runs a major or minor release, it is recommended to upgrade regularly to the latest patch release available for this Squore version to benefit from the most recent bug fixes.

Before upgrading to a new minor or major release, we recommend replicating your environment to test the migration. While our releases are always backwards-compatible, some of your analysis results may be impacted by changes and improvements to the analysis model in new major or minor versions.

How easy is it to upgrade my Squore installation?

Our upgrade script or installer takes care of deploying the new version of the software and migrating your existing data and configuration if needed in one simple process.

Before upgrading your Squore installation, always check the release notes on the download page of the product: http://www.vector.com/servicepacks_squore.

Upgrade instructions can be found in the Installation and Administration Guide, in the section called Upgrading Squore.

Where can I find out my Squore version ?

Squore versions use the following naming convention: major.minor.patch - buildId - scmInfo. Major and minor releases usually introduce new functionalities, while patch releases normally only contain bugfixes.

There are two ways to find out which version of Squore you are running:

  • From the web interface via ? > About

  • From the command line by running

    sqadm version

More information about sqadm version can be found in sqadm version(1).

What documentation is available?

A list of all existing user manuals and their target audience is available in the documentation home page.

If you are new to Squore, you should probably start with the Installation and Administration Guide to install Squore and move on to Getting Started Guide to discover all the features that Squore has to offer.

What information does your dashboard show?

The main page of the web interface is the Explorer, which consists of tabs showing the following information:

  • Dashboard: shows the scorecard and displays data on charts. Depending on your project role, you may have access to different dashboards.

  • Action Items: displays the action plan computed by the Decision Model to improve the quality of your project

  • Highlights: displays flat lists of artefacts that match conditions defined in each highlight definition

  • Findings: displays the list of violations in the project

  • Documents: offers a selection of reports and data exports in various output formats

  • Forms: displays a list of project attributes that can be modified after an analysis

  • Indicators: lists the key performance indicators and their associated performance levels computed for the current artefact

  • Measures: lists the metrics and their computed values for the current artefact

  • Comments: displays comments and discussion threads started about the current artefact and its descendants

An artefact is a component of your project, to which Squore attaches measures, indicators, textual information and findings. Each artefact is rated by the analysis model, and can consist of several sub-artefacts. When analysing source code, the smallest artefact created by the source code parser is usually a function artefact, which is a child of a class artefact, which is itself a child of a file artefact.

To learn more about the Explorer, consult the Getting Started Guide.

Why are there three trees in the web interface?

Squore uses a triple drill-down navigation. Each tree in the web interface allows you to access different information:

  • The Project Portfolios list all projects and versions, grouped by analysis model and group.

  • The Artefact Tree displays all the artefacts of your project. Clicking an artefact updates the Explorer to display the information about the selected artefact, and its descendants where applicable.

  • The Indicator Tree displays details about how the rating for the currently selected artefact is computed. You can click any metric in the tree to see how it is computed, and how it has evolved since the previous analyses of your project.

How are artefacts rated?

The Software Analytics analysis model is the result of Vector Informatik GmbH’s years of experience in the field of software quality and provides the best rating for your software development or system engineering projects. Squore aggregates metrics from a source code parser, various code analysis tools, requirement and test management systems, bugtrackers and version control systems to provide you with an impartial assessment of the quality and progress of your projects through standardised dashboards and reports.

The analysis model is highly customisable, so it can adapt to your process and the tools you use in-house.

Your project is broken down into a hierarchy of artefacts of different types, which are evaluated using base measures that are aggregated into key performance indicators. The rating is computed differently for each type of artefact so that all aspects of your project weigh in appropriately overall for the entire project.

Does Squore provide an API?

A REST API is available (API Guide). You can easily find the available API end-points from the API Viewer page.

How do I ensure secure communication between a Squore server and its clients?

You should enable and configure SSL on your server. Follow the Installation and Administration Guide’s instructions for securing your traffic.

Note that you may also need to import your server’s certificate into your client’s java keystore to run analyses from the command line after securing your server, as explained in the section called Import a certificate in the Installation and Administration Guide.

Is there a command line interface?

Yes. We provide a command line interface, so you can automate analyses and integrate them into your continuous integration process. Find out more in the Command Line Guide.

Are projects analyzed automatically when I change source code?

Squore analyses are triggered by humans via the web interface. A command line interface is available, so you automate analyses. The command line syntax is described in the Command Line Guide so you can integrate Squore in your continuous integration system or even launch analyses when checking in source code.

Are my analysis results public? Who can view my source code?

Squore uses a role-based access model, so you decide who gets to see your projects and even if they can launch new analyses or view source code. For a full descriptions of the permissions available to users, check out the Getting Started Guide’s Project Roles section.

Squore administrators have access to the full list of existing projects on a server, so they can administer them and resolve issues.

Why is there a database and a projects folder?

Part of your data is stored in a database and another part in a folder on the Squore Server’s hard drive. Both locations must be backed up together simultaneously to ensure backups can be restored. The database stores the metrics, findings and the artefacts, while the data folder mostly contains information about project configuration and data used to assess the stability and level of cloning in the source code.

What is Squore doing with my source code? Is it stored in the Squore database?

Squore does not store any of your source code in its database. Each artefact in your project only stores a reference to the location of the source code that was analyzed. Users with appropriate access may request to view source code referenced in an analysis, which will prompt them for valid credentials for your repository.

During an analysis, source code is retrieved via an SVN check out or a git clone and stored into a temporary folder that is deleted when it is no longer needed.

In sensitive environments, it is even possible to run analyses locally on a client so that the source code never reaches the Squore Server. See more about Common Usage Scenarios in the Installation and Administration Guide.

Can I modify the dashboards?

Squore’s dashboards, but also its decision model, highlight and export definitions are fully configurable. The Configuration Guide showcases all the possible customisations, so you can modify the default model, or even build a model from scratch.

Instead of modifying the default configuration, Squore lets you override the default model, so you can keep your customisations when you upgrade to a new version. For more details about overriding the default configuration, refer to the Configuration Guide’s Customising Squore Configuration.

What are the known limitations of Squore? How many projects and versions can I create? How many metrics and charts?

You do not have to worry about how many metrics and indicators you can add to your model. The Squore database can handle over 1018 metrics.

Dashboards can be extended to include many charts, as they are rendered client-side and should not have a meaningful impact on server performance.

Consult the section called Sizing Squore Server and Database in the Installation and Administration Guide for more information about database and disk usage.

How do I read and analyze server logs?

Squore runs in a WildFly instance which the installer deploys for you. As a result, some WildFly server codes can be quite useful to analyze issues:

  • WFLYSRV0049: WildFly application server startup launched

  • WFLYSRV0010: application (squore-server, squore-license) deployed successfully - message displayed during startup

  • WFLYSRV0025: WildFly application server started successfully

  • WFLYSRV0026: WildFly application server started with errors

  • WFLYSRV0028: application (squore-server, squore-license) stopped successfully - message displayed during shutdown

  • WFLYSRV0050: WildFly application server shutdown successfully

  • <TIMESTAMP> INFO [com.squoring.squore.server.BootstrapBean] (ServerService Thread Pool — \d+) {} Squore started — Squore is available for users to log in

Other useful log messages include:

  • <TIMESTAMP> INFO User <user> authenticated / unauthenticated - for user login/logout actions

  • <TIMESTAMP> INFO {\taskId\} <project> semaphore acquired / released - indicated the beginning / end of a task of a project (analysis or deletion)

  • <TIMESTAMP> WARN {taskId} No data found for this measure : '<MEASURE_ID>' for type '<TYPE>' - indicates that no Data Provider provided a value for a metric, when the analysis model expected one. Cases where this is unexpected should be investigated.

  • <TIMESTAMP> WARN {taskId} Measure '<MEASURE_ID>' that occurs x times is not defined in model - indicates that a Data Provider tried to import a metric that is not defined in the analysis model. Review your analysis model to check if the reported metric should be defined.

  • <TIMESTAMP> WARN {taskId} On measure <MEASURE_ID> (<ARTEFACT_TYPE>) > On computation: <COMPUTATION> > x/y artefacts use the default value - indicates that the default value for was used for a metric. Cases where this is unexpected should be investigated.

  • <TIMESTAMP> WARN ARJUNA012117 - indicates that a timeout happened. This can mean a timeout when clicking a control in the web interface, or a timeout during a project task (analysis or deletion).

The server log is only accessible to Squore administrators, but Squore project owners also have access to logs specific to their own projects via the Projects page in the web interface.