Semmle 1.13
Skip to end of metadata
Go to start of metadata

 

Operating systems

Semmle software is supported on Linux, Microsoft Windows, and OS X/macOS.
Operating systemSupported versions
Linux 
Microsoft Windows

7, 8, 10
Server 2003 (and R2)
Server 2008 (and R2)
Server 2012 

macOS10.12
OS X10.8, 10.9, 10.10, 10.11

Both 32-bit and 64-bit versions of Linux and Microsoft Windows are supported (where they exist). Only 64-bit versions of OS X are supported. 

Using 32-bit operating systems to run Semmle analyses on large software systems is not recommended, because these operating systems do not allow sufficient amounts of RAM to be used. Semmle 1.13 is the last version where 32-bit installers will be available to download. 32-bit build systems will continue to be supported, as long as the underlying operating system is 64-bit.

Software requirements

Semmle Core

RequirementSemmle Core
Java virtual machineOracle JRE 1.8.X is included in the distribution and used by default. Later minor versions of the bundled JRE are also supported.
PythonThe versions supported by Semmle Core are Python 2.7 or Python 3.4 upwards.

Insight applications

In addition to the requirements for Semmle Core, the Insight applications also have the following requirements:

RequirementVersionEnterprise InsightProject InsightTeam Insight
Version control clients required for read-only access of the repositories that store the code bases to be analyzed n/a(tick)(tick)
Build tools required to build the code bases to be analyzed n/a(tick)(tick)
Build dependencies required to build the code bases to be analyzed n/a(tick)(tick)
Python2.6 or aboven/an/a(tick)
rsync (required where the workers.xml file specifies non-local workers)OS X: 2.6.9 or later
Linux: 3.1.1
Windows: 3.1.0, 3.1.1 
n/an/a(tick)
Cygwin (only required for Windows worker nodes driven from a workers.xml file*)Windows only: 2.2.1n/an/a(tick) *
Tomcat application server8.0 or later**(tick) *****
Microsoft SQL Server, optional data storage2012, 2014 or 2016Optionaln/aOptional
PostgreSQL database, optional data storage9.2—9.6Optionaln/aOptional
Tableau Server/Desktop, optional visualization tool for Windows servers9.3.2 or laterOptionaln/aOptional
QlikView, optional visualization tool11.0 or laterOptionaln/aOptional

* This is not a recommended setup for data collection and analysis. A dynamic setup is recommended where you are using remote Windows worker nodes. See Setting up worker nodes.

** See Additional requirements for communication with a Semmle Insight server below for details.

*** Since Semmle 1.9.9, Semmle Project Insight dashboards need to be hosted on a server with access to a Java JRE 8 or higher. See Java compatibility for Project Insight dashboards for more information.

Additional requirements for communication with a Semmle Insight server

Enterprise Insight and Team Insight servers require additional utilities to communicate with a Semmle Insight server.

RequirementApple OS X serversLinux serversMicrosoft WindowsNotes
Tomcat application server

Optional

8.0 or later

Optional

8.0 or later

Optional

8.0 or later

Required to set the Insight server up using HTTPS

OpenSSH

Optional

Server and Client 6.2 or later

Optional

Server and Client 6.6.1 or later

Optional

Server and Client 7.1 or later

Required to set the Insight server up using SSH

Tectia may be used as an alternative on Linux servers

See Infrastructure requirements for Enterprise Insight and Infrastructure requirements for Team Insight for more information.

Plug-ins, extensions and integrations

Atlassian plug-ins and integrations

  • Semmle Analysis for Atlassian Bamboo is compatible with Bamboo versions 5.7.0 to 5.14.1
  • Integration of Semmle Project Insight with Atlassian JIRA requires JIRA 6.2 or later

Eclipse plug-ins

The plug-ins for Eclipse have the following requirements:

ProductMinimum Eclipse versionRequired Eclipse plugins Minimum Java JREPlatform
Semmle MendGalileo (3.5)*

JDT Core (3.3.0+)

(required only for analysis of Java projects)

6*64 bit
Semmle StudioKepler (4.3)GEF (any version)

8**

-

Only those Eclipse plugins that are not installed in all flavors of Eclipse are listed.

*From Semmle 1.14 onward, Semmle Mend will no longer support Eclipse versions older than Kepler (4.3), and will require a Java 7 JRE to run. See https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM for details of how to define the JVM used by Eclipse.

**From Semmle 1.9.9 onward, Semmle Studio requires a Java 8 JRE to run. See https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM for details of how to define the JVM used by Eclipse.

IBM Rational Team Concert plug-in

The Semmle Team Insight plug-in for Rational Team Concert supports Rational Team Concert versions 4.x and 5.x. It is validated under IBM's ready-for-Rational program to ensure compatibility with future versions of IBM Rational Team Concert.

IntelliJ plug-ins

The Semmle Mend plug-ins for IntelliJ support IntelliJ 14.0 and later versions running on a 64 bit platform.

Microsoft Visual Studio extensions

The Semmle Mend extensions for Microsoft Visual Studio support Visual Studio 2010, 2012, 2013 and 2015 (Professional, Premium and Ultimate) running on a 64 bit platform.

SonarQube plug-in

The Semmle Analysis for SonarQube plug-in supports SonarQube server versions 5.1.1 - 5.6.1.

Sublime Text plug-in

The Semmle Mend plug-in for Sublime Text supports versions 2 and 3.

Code base analysis

Semmle software can be used to analyze code written in the following languages. Where there are several versions or dialects of a language, the supported variants are listed.
LanguageVariantsCompilersNotes
C/C++

C89, C99, C11
C++98, C++03, C++11, C++14

Clang extensions (up to clang 4.0)
GNU extensions (up to gcc 6.3)
Microsoft extensions (up to VS 2015)
 
C#C# 3.0, 3.5, 4.0, 5.0, 6.0, and 7.0 together with
.NET versions 3.0, 3.5, 4.0, 4.5, and 4.6
Microsoft Visual Studio up to 2017.NET 4.6.1 or higher must be installed
Java

Java 1.8* or lower

javac (OpenJDK and Oracle JDK), ECJ (when invoked via its Main class)Analysis of all Java 8 features is supported apart from repeated annotations and annotations on types
JavaScript

ECMAScript 2016 or lower

n/aJSX and Flow code, YAML files, JSON files and HTML files may also be analyzed (see Customizing JavaScript extraction for details of how to configure this).
Objective-C

Objective-C, Objective-C++ and Objective-C 2.0

Clang extensions (up to clang 3.6)
GNU extensions (up to gcc 4.9)
 
Python

2.6, 2.7, 3.3, 3.4, 3.5, 3.6

n/a

The analysis tools also require a Python installation (see Software requirements above for versions supported).

Scala2.9, 2.10, 2.11Standard Scala compiler 

* This refers to the Java language features used, not the version of Java used to compile or run the code.