Android Essentials Toolbox
The Android Essentials Toolbox is a collection program analysis tools specifically developed for analyzing Android applications. The toolbox aids in mapping Android Permission Groups and Protection Levels to Permissions as well as Permissions to the respective permission protected Android APIs.
Atlas for Brainfuck
Atlas for Brainfuck adds Atlas code mapping support and graph based interpreter support for Brainfuck programs. This plugin has no dependencies other than Atlas, but is compatible with the Brainf*ck Development Tools plugin.
Call Graph Toolbox
The Call Graph Toolbox project is a collection of Atlas native call graph construction implementations and utilities for navigating the resulting call graphs. This plugin implements 9 different call graph construction algorithms ranging from Class Hierarchy Analysis (CHA) to Rapid Type Analysis (RTA) to Variable Type Analysis (VTA).
Immutability Toolbox
The Immutability Toolbox seeks to answer the question: given code C and reference R, is the object O referenced by R mutated in the code C?. The toolbox contains robust implementations of two prominent approaches to immutability analysis. The first approach leverages a precise points-to analysis computed by the Points-to Toolbox to resolve aliasing relationships and compute object immutability. The second approach is a scalable type inference based approach.
Path Counter
The Path Counter project provides efficient software graph path counting capabilities without enumeration.
Points-to Toolbox
The Points-to Toolbox project is an Atlas native points-to analysis implementation and utilities for using the points-to analysis results for other client analyses. This plugin implements an Andersen-style points-to analysis.
Projected Control Graph (PCG) Toolbox
The goal of path-sensitive analysis is to achieve accuracy by accounting precisely for the execution behavior along each path of a control flow graph (CFG). A practical adoption of PSA is hampered by two roadblocks: (a) the exponential growth of the number of CFG paths, and (b) the exponential complexity of a path feasibility check. We introduce projected control graph (PCG) as an optimal mathematical abstraction to address these roadblocks.
SIDIS Toolbox
The SIDIS Toolbox project provides statically-informed dynamic (SID) analysis and dynamically-informed static (DIS) analysis capabilities to the Atlas program analysis framework.
Slicing Toolbox
The Slicing Toolbox project provides Atlas native Program Dependence Graph (PDG) based program slicing. The PDG is a combination of analysis on control and data flow graphs that makes the both control and data flow dependencies explicit.
Statically-Informed Dynamic (SID) Analysis Toolbox
The SID Analysis Toolbox project provides statically-informed dynamic (SID) analysis capabilities to the Atlas program analysis framework.
Toolbox Commons Collection
The Toolbox Commons project is a collection of common utilities useful for program analysis with Atlas. The project has resulted in a generic toolbox of common utilities agnostic of the programming language as well as three language specific toolboxes for Java, Jimple (JVM Bytecode), and C.
WAR Binary Processing
The WAR Binary Processing project is a frontend plugin built on top of Atlas to add support for processing Java WAR binaries for use in program analysis.