.QL

Building Queries One Class at a Time

  • Object Oriented

    .QL supports inheritance, which eases the writing of complex queries, extending and modifying existing predicates and increasing reusability.

  • Familiar Syntax

    .QL syntax is designed to be similar to Java and SQL to lessen the learning curve for writing queries. It also supports more traditional prolog-style queries.

  • Aggregates

    .QL provides the min, max, sum, average and count aggregates. This makes it possible to write queries that gather custom metrics on your code.

  • Shareable

    You can share (or even sell) your .QL queries and libraries with almost no restrictions, as long as they are run on Semmle software.
 


US and other patent applications pending.