Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.

Features

  • Joern allows importing code even if a working build environment cannot be supplied or parts of the code are missing
  • Joern creates semantic code property graphs from the fuzzy parser output and stores them in an in-memory graph database
  • SCPGs are a language-agnostic intermediate representation of code designed for query-based code analysis
  • Joern provides a taint-analysis engine that allows the propagation of attacker-controlled data in the code to be analyzed statically
  • Joern offers a strongly-typed Scala-based extensible query language for code analysis based on Gremlin-Scala
  • Code property graphs are multi-layered, offering information about code on different levels of abstraction

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow Joern

Joern Web Site

You Might Also Like
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Joern!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Java

Related Categories

Java Source Code Analysis Tool

Registered

2023-08-22