Semmle software is supported on 64-bit systems running Linux, Microsoft Windows, and OS X/macOS. Analysis of 32-bit build systems is supported, provided that the underlying operating system is 64-bit.
|Operating system||Supported versions|
7, 8, 10
|OS X||10.8, 10.9, 10.10, 10.11|
|Java virtual machine||Oracle JRE 1.8.X is included in the distribution and used by default. Later minor versions of the bundled JRE are also supported.|
|Python||The versions supported by Semmle Core are Python 2.7 and 3.4 or above.|
In addition to the requirements for Semmle Core, the Insight applications also have the following requirements:
* 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.
|Requirement||Apple OS X servers||Linux servers||Microsoft Windows||Notes|
|Tomcat application server|
8.0 or later
8.0 or later
8.0 or later
Required to set the Insight server up using HTTPS
Server and Client 6.2 or later
Server and Client 6.6.1 or later
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
The plug-ins for Eclipse have the following requirements:
|Product||Minimum Eclipse version||Required Eclipse plugins||Minimum Java JRE||Platform|
|Semmle Mend||Kepler (4.3)|
JDT Core (3.3.0+)
(required only for the analysis of Java projects)
|Semmle Studio||Kepler (4.3)||GEF (any version)|
Only those Eclipse plugins that are not installed in all flavors of Eclipse are listed.
*From Semmle 1.14 onward, Semmle Mend requires a Java 7 JRE to run. This does not affect its ability to analyze Java 6 projects. See https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM for details of how to define the JVM used by Eclipse.
**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.
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 2013, 2015, and 2017 (Professional, Premium and Ultimate) running on a 64 bit platform.
Code base analysis
C89, C99, C11
|Clang extensions (up to clang 4.0)|
GNU extensions (up to gcc 6.3)
Microsoft extensions (up to VS 2015)
|C#||C# up to 7.1 together with|
.NET versions up to 4.7.1
|Microsoft Visual Studio up to 2017|
.NET Core up to 2.1
|.NET 4.6.1 or higher must be installed|
Java 9* or lower
|javac (OpenJDK and Oracle JDK), ECJ (when invoked via its ||Analysis of all Java 9 features is supported apart from repeated annotations and annotations on types. In-process extraction and Mend local analysis are currently not supported for Java 9 projects.|
ECMAScript 2017 or lower
Objective-C, Objective-C++ and Objective-C 2.0
|Clang extensions (up to clang 3.6) |
GNU extensions (up to gcc 4.9)
2.7, 3.4, 3.5, 3.6
The analysis tools also require a Python installation (see Software requirements above for versions supported).
|Scala||2.9, 2.10, 2.11||Standard Scala compiler|
* This refers to the Java language features used, not the version of Java used to compile or run the code.