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

Other Useful Business Software
Ship Agents Faster Icon
Ship Agents Faster

Transform your applications and workflows into powerful agentic systems at global scale.

Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
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