GrammaTech Research

GrammaTech Research



Cyber Security Solutions Research Areas Open Source Software Publications

Cyber Security Solutions

Automatic harness generation and seed-input collection to eliminate the need for reverse engineering and domain knowledge in dynamic testing of software binaries.
Automatically find and fix vulnerabilities in software binaries. Use exploitability analysis to prioritize software weaknesses for remediation.
REAFFIRM (Reverse Engineer, Analyze and Fix Firmware) is a platform for firmware analysis, component identification and extraction, and testing.

Research Areas

Application Security and Reverse Engineering
Combine state-of-the-art program-analysis techniques to construct an understanding of the functionality, strengths, and weaknesses of executable software and firmware (with or without hardware). Apply that understanding to improve software security and performance, for instance, to find and fix vulnerabilities in critical systems.
Binary Rewriting
Using high-fidelity binary ingestion, perform automated transformation of binary software executables and libraries to improve functionality, security, maintainability, and performance. Specific aims include software hardening, optimization, diversification, and attack-surface reduction.
Machine Learning and Big Code
Combine machine-learning techniques with program analysis to increase software security, reliability, and maintainability. Mine the collective wisdom in massive code repositories to speed up, automate, and enhance developer processes.
Machine Programming
Leverage machine-learning, formal methods, and evolutionary computation to automate the software-development lifecycle through source-code synthesis, evaluation, and transformation. Build automated tools that integrate into the modern software development environment.
Platform Security
Ensure trust in the computing platform, including hardware, from design through deployment. Assess risk due to use of untrusted supply chains of FPGA and ASIC devices.

Open Source Software

We are a commercial company and we develop and sell proprietary software products. However, we release the core technology underlying these products — the libraries on which these products' power and correctness depend. GrammaTech recognizes that only by encouraging outside use and review of our software can we achieve the reproducibility, objectivity, accuracy, quality, and security our customers require.

A fast and accurate disassembler. DDisasm is able to disassemble real-world stripped binaries with accuracy sufficient to enable modification and reassembly.
An extensible software development assistant bringing cutting edge program synthesis research to bear against real-world programming tasks in the modern integrated development environment.
Swap Detector
A library to check swapped arguments in function calls, and a Clang Static Analyzer plugin used to demonstrate the library.
An intermediate representation for binary analysis and rewriting. GTIRB seeks to be an LLVM-IR for reverse engineering.
Software Evolution Library (SEL) provides a programmatic interface for the parsing, analysis, and rewriting of software source code in many programming languages through a single generic API.

We not only publish but participate in the open-source community, through multiple contributions to significant open-source projects, and accepting significant contributions to projects we maintain in return. Find more of our open-source repositories on GitHub/GrammaTech and GitLab/GrammaTech.

About Contact Careers About Contact Careers GrammaTech Homepage