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


LGTM Enterprise application

For details of the requirements for LGTM Enterprise, see the LGTM Enterprise System Requirements document, available from the LGTM Enterprise downloads page.

QL tools

System requirements for the QL tools: QL for Eclipse (previously known as Semmle Studio), QL for Visual Studio and Semmle Core are as follows.

Software requirements

ToolCore requirementsOther requirements

QL for Eclipse
(previously Semmle Studio)

Eclipse Kepler (4.3) or a later version
Semmle CoreSupported operating system (see below)
  • 64-bit platform.
  • Java—OpenJDK 1.8.X is included in the distribution and used by default. Later minor versions of the bundled JRE are also supported.
  • Python—either Python 2.7 and 3.4 or above.
QL for Visual StudioMicrosoft Visual Studio 2017 15.8 or a later version. Community, Professional, and Enterprise editions are all supported.

Operating systems

The QL tools run on 64-bit systems running Linux, Microsoft Windows, and macOS. 

Operating systemSupported versions

Oracle Linux 5.5+, 6.x, 7.x
Red Hat Enterprise Linux 5.5+, 6.x, 7.x
Suse Linux Enterprise Server 10 SP2+, 11.x, 12.x
Ubuntu Linux 12.04 LTS, 13.x, 14.x, 15.04, 15.10, 16.04, 18.04

Microsoft Windows

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

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

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 6.0)
GNU extensions (up to GCC 7.3)
Microsoft extensions (up to VS 2017)
C#C# up to 7.3 together with
.NET versions up to 4.7.1
Microsoft Visual Studio up to 2017
.NET Core up to 2.2

COBOLANSI 85 or newerNot applicableThe best results are achieved with code that stays close to the ANSI 85 standard.

Java 6 to 11

javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) batch compiler

Builds that execute on Java 6 to 11 can be analyzed. The analysis understands Java 11 language features.


ECMAScript 2018 or lower

Not applicableJSX 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).

2.7, 3.5, 3.6, 3.7

Not applicable

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

TypeScript2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2Standard TypeScript compilerAnalysis is performed by running the JavaScript extractor with TypeScript enabled.

Other products

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.

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.

Semmle Mend plugins/extensions

The Semmle Mend plugins/extensions are used to download alerts from Project Insight and for local analysis. If you want to download alerts from LGTM, you need to use an LGTM plugin.

Semmle Mend has the following requirements:

ToolCore requirementsOther requirements
Mend for EclipseEclipse Kepler (4.3) or a later version
  • 64-bit platform.
  • JDT Core (3.3.0+)—required only for the local analysis of Java projects.
  • Java 7 JRE. This does not affect its ability to analyze Java 6 projects. See for details of how to define the JVM used by Eclipse.
Mend for IntelliJ IntelliJ 14.0 and later versions
  • 64-bit platform.
Mend for Visual StudioMicrosoft Visual Studio 2013, 2015, and 2017 (Professional, Premium and Ultimate)
  • 64-bit platform.