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


Operating systems

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 systemSupported versions
Microsoft Windows

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

OS X10.8, 10.9, 10.10, 10.11

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 and 3.4 or above.

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)
Pythonas for Semmle Core (above)n/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 
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


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

Eclipse plug-ins

The plug-ins for Eclipse have the following requirements:

ProductMinimum Eclipse versionRequired Eclipse plugins Minimum Java JREPlatform
Semmle MendKepler (4.3)

JDT Core (3.3.0+)

(required only for the analysis of Java projects)

7*64 bit
Semmle StudioKepler (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 for details of how to define the JVM used by Eclipse.

**Semmle Studio requires a Java 8 JRE to run. See 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 2013, 2015, and 2017 (Professional, Premium and Ultimate) running on a 64 bit platform.

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.

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

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 Main class)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

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++ 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).

Scala2.9, 2.10, 2.11Standard Scala compiler 
TypeScript2.6, 2.7Standard TypeScript compilerAnalysis is performed by running the JavaScript extractor with TypeScript enabled.

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