Engineering Analytics

Analyze coding behavior, not just code

Built on groundbreaking programming languages and database research, and data science, Semmle enables software engineering teams to gain actionable insights from the code they create. These insights help software leaders make data-driven decisions that improve software delivery, and organizational development and efficiency.

Code as data

Contractor-quality-varianceThe code change history in your software repositories can speak volumes about how well your teams develop software. Semmle provides the unique ability to convert your code into a knowledge base that can be explored and provide you with feedback on how well your organization works.


Why customers love Semmle

Some of the most highly regarded software developers on the planet use Semmle. Here’s why:

  • Better staffing – Some developers naturally excel at new feature development; others at bug fixing, or refactoring. Semmle reveals these personalities to you so you can match the right mix of skills with the right project.
  • Better feedback – Semmle shows individual developers how they compare to their peers in terms of coding productivity and quality so that they can continuously improve and increase their value to the team.
  • Better economics – Are contract developers, new R&D technology, and other investments paying off? Do you set budgets based on code base or portfolio size? Semmle reveals all with pinpoint accuracy.
  • Better code – Semmle finds potential errors and violations of your organization’s unique coding best practices and directs developers where to make corrections so your code becomes easier, and less expensive, to maintain.
  • Better management – Methodology, technology, and organizational changes occur regularly. Semmle shows you how well changes are being adopted and what impact they are having.


How Semmle works

products-knowledgebase semmle-arrow Semmle converts the source code change history in your software repositories into a knowledge base. Source code is deconstructed into a data model that interrelates the specific element types that compose your code, such as methods, expressions, variables, and so forth, with their location in the source code. This makes it possible for you to interrogate your code base in any way you can imagine to understand your code and how it was created.
products-enrichment semmle-arrow You can further enrich the knowledge base with other contextual data. This can include additional developer detail like job title, location, employer, cost, seniority, and skills. It can also include project-level information like bug reports. The more context you add, the more insight you can gain.
products-dashboards semmle-arrow Dashboards display visuals about your project portfolio, such as coding activity and quality over time. You can drill down into specific projects to view activity history for individual project team members.
products-mining semmle-arrow Ad-hoc code exploration and repo mining are possible using Semmle QL, a declarative, object-oriented query language based on Datalog. QL queries can search your code base narrowly or widely for any syntax, or logic or data flow, no matter how complex. QL is an invaluable tool for architects and developers, quality assurance, and security teams.