Research At GrammaTech

The subject of GrammaTech's research is automatic program analysis. Our work can be categorized along three dimensions:

Static Analysis / Dynamic Analysis:
We work on both static analysis and dynamic analysis, and combinations of the two. Static analyses derive program properties that hold for any possible run of the program (on any possible input). Dynamic analyses are based on observations collected while running a program (on some given set of inputs).
Source Code / Binary Code:
We work on both source code analysis and machine code analysis. Analyses on source code can make use of high-level concepts such as variable types, procedure signatures, and structured control constructs, and are typically portable, i.e., results apply to executables built with any compiler for the language. In contrast, machine-code analysis must infer such high-level concepts from the low-level instructions, but can take advantage of the compilation decisions of the specific compiler used to build the executable. Our research also includes the use of source-code hints to improve (and/or validate) the results of machine-code analyses.
Applications:
Our research can be roughly divided into four application areas:
  • reverse engineering. We develop tools that help engineers understand program artifacts given either in source code or machine code.
  • assurance. We develop tools for finding bugs and security vulnerabilities in software. Our research in this area led to CodeSonar®, a commercial flaw-finding tool.
  • protection. We also work on the converse of reverse engineering: tools that provide software protection. We are developing a toolkit for high-fidelity and pervasive rewriting of software executables.
  • producibility. We develop tools that aim to lower the cost of software production and maintenance.

Areas | Products | Sponsors | Publications | News | About Us © 2007-2010, GrammaTech, Inc. All rights reserved.
The Synthesizer Generator, Ada-ASSURED, Ada-Utilities, and SmashProof are trademarks of GrammaTech, Inc. CodeSurfer and CodeSonar are registered trademarks of GrammaTech, Inc.