GrammaTech

From Wikipedia, the free encyclopedia
GrammaTech, Inc.
Type Private
Industry Software Quality
Headquarters Ithaca, New York
Key people Founders: Tim Teitelbaum and Thomas Reps
Products CodeSonar, CodeSurfer
Website http://www.GrammaTech.com

GrammaTech is a software-development tools vendor based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. Its tools are used worldwide by Fortune 500 companies, educational institutions, government agencies and startups.

Products

CodeSonar is a source code analysis tool that performs a whole-program, interprocedural analysis on C and C++, and identifies programming bugs and security vulnerabilities at compile time. CodeSonar is used in the Defense/Aerospace, Medical, Industrial Control, Electronic, Telecom/Datacom and Transportation industries. The U.S. Food and Drug Administration (FDA) Center for Devices and Radiological Health uses it to detect defects in fielded medical devices.[1][2] The U.S. National Highway Traffic Safety Administration (NHTSA) and NASA used it in its Study on Sudden Unintended Acceleration in the electronic throttle control systems of Toyota vehicles.

CodeSurfer is a program-understanding tool. Program constructs—including preprocessor directives, macros, and C++ templates—are analyzed. CodeSurfer calculates a variety of representations that can be explored through the graphical user interface or accessed through the optional programming interface.

History

GrammaTech is a 1988 spin-off from Cornell University, where its founders had developed an early Integrated Development Environment in 1978 (the Cornell Program Synthesizer[3]) and a system for generating language-based environments from attribute-grammar specifications in 1982 (the Synthesizer Generator[4][5]). Commercial systems that have been implemented using the Synthesizer Generator include ORA's Ada verification system (Penelope[6]), Terma's Rigorous Approach to Industrial Software Engineering (Raise[7]), and Loral's checker of the SPC Quality and Style Guidelines for Ada[8] GrammaTech co-founders Reps and Teitelbaum received the 2010 ACM SIGSOFT Retrospective Impact Award for their work on the Synthesizer Generator.[9]

GrammaTech commercialized the Wisconsin Program-Slicing Tool as CodeSurfer for C and C++ in 1999. CodeSonar for C and C++, which is an application of CodeSurfer/C, has been available since 2005. GrammaTech co-founder Reps and two other company affiliates shared in a 2011 ACM SIGSOFT Retrospective Impact Award for their paper describing the Wisconsin slicing research.[10]

GrammaTech and the University of Wisconsin have been collaborating since 2001 to develop analysis, reverse-engineering, and anti-tamper tools for binary executables. Byproducts of this research are CodeSurfer/x86[11] (a version of CodeSurfer for the Intel x86 instruction set), CodeSonar/x86 (a bug and vulnerability finding tool for stripped executables), and an approach to creating such systems automatically from formal semantic descriptions of arbitrary instruction set architectures.[12]

References

  1. Quinnell, Richard A. (2008-03-06). "Static analysis stomps on bugs". EETimes. Retrieved 2009-01-23. 
  2. Jetley, Raoul; Paul Anderson (April 2008). Using static analysis to evaluate software in medical devices . Embedded Systems Design. United Business Media. 
  3. Teitelbaum, T.; T. Reps (September 1981). "The Cornell Program Synthesizer: A syntax-directed programming environment". Communications of the ACM 24 (9): 563–573. doi:10.1145/358746.358755. 
  4. Reps, T. (1984). Generating Language-Based Environments. Cambridge, MA: The M.I.T. Press. ISBN 0-262-18115-0. (Awarded the 1983 ACM Doctoral Dissertation Award.). 
  5. Reps, Thomas W., and Teitelbaum, Tim (1988). The Synthesizer Generator: A System for Constructing Language-Based Editors. Cambridge, MA: Springer-Verlag. ISBN 0-387-96857-1. 
  6. Guaspari, D. (1989). "Penelope, an Ada verification system". TRI-Ada '89: Proceedings of the conference on Tri-Ada '89. Pittsburgh, PA: ACM. pp. 216–224. doi:10.1145/74261.74277. 
  7. The RAISE Language Group, CORPORATE (1993). The RAISE specification language. Upper Saddle River, NJ: Prentice-Hall, Inc. ISBN 0-13-752833-7. 
  8. Software Productivity Consortium (1995). Ada 95 Quality and Style Guide: Guidelines for Professional Programmers (SPC-94093-CMC Version 01.00.10 ed.). Herndon, VA: SPC. 
  9. Reps, T.; Teitelbaum, T. (1984). "The Synthesizer Generator ". In SDE 1 Proc. of the first ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments. 
  10. Reps, T.; Horowitz, S., Sagiv, M., and Rosay, G. (December 1994). "Speeding Up Slicing ". Proc. Second ACM SIGSOFT Symposium on Foundations of Software Engineering. New Orleans, LA, USA. 
  11. Balakrishnan, G.; Reps, T. (2004). "Analyzing memory accesses in x86 executables ". Proc. Int. Conf. on Compiler Construction. New York, NY: Springer-Verlag. pp. 5–23. (Awarded the EAPLS Best Paper Award at ETAPS 2004.). 
  12. Lim, J.; Reps, T. (April 2008). "A system for generating static analyzers for machine instructions ". Proc. Int. Conf. on Compiler Construction (CC). New York, NY: Springer-Verlag. (Awarded the EAPLS Best Paper Award at ETAPS 2008.). 

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.