GrammaTech

GrammaTech est une société américaine spécialisée dans les outils d'aide au développement logiciel. Elle est basée à Ithaca, dans l'état de New York, aux États-Unis, et fut fondée en 1988 au sein même de l'université Cornell, l'une des plus prestigieuses du pays. Les outils développés par GrammaTech sont utilisés dans le monde entier, aussi bien par des multinationales comme des membres du Fortune 500 que par des institutions gouvernementales ou des starts-up[1].

GrammaTech, Inc.

Création 1988
Fondateurs Tim Teitelbaum et Thomas Reps
Siège social Ithaca (New-York)
 États-Unis
Activité Qualité Logicielle
Produits CodeSonar, CodeSurfer
Site web www.grammatech.com

Produits

CodeSonar est un outil d'analyse statique arbitraire de code source pour les langages C et C++, qui détecte des erreurs de programmation et des vulnérabilités de sécurité de type runtime, afin de diminuer de manière drastique le nombre d'erreurs latentes présentes dans un logiciel et d'améliorer sa robustesse[2]. CodeSonar est utilisé par toutes les industries demandant un niveau de fiabilité élevé de leurs produits : aéronautique, spatial, ferroviaire, défense, électronique, télécom et médical. Il est aussi utilisé par des institutions gouvernementales tels que la Food and Drug Administration, l'administration américaine des denrées alimentaires et des médicaments, afin de détecter des erreurs dans les logiciels embarqués des appareils médicaux[3]. De plus, l'agence américaine chargée de la sécurité routière, la NHTSA et la NASA l'ont conjointement utilisé dans leur étude portant sur les « accélérations soudaines involontaires », ayant notamment permis de découvrir des problèmes dans les systèmes électroniques de contrôle de l'accélération de certaines voitures Toyota[4].

CodeSurfer est un outil de rétro-ingénierie, analysant le code source C et C++ ainsi que les macros, les directives préprocesseurs et les templates C++. Codesurfer crée une variété de représentations (graphes d'appels, analyse de pointeurs, analyse du flux et du contrôle de données, ...) qui peuvent être aisément explorées via l'interface graphique ou l'API additionnelle.

Histoire

GrammaTech est créée en 1988 au sein même de l'université Cornell, où ses fondateurs avaient développés en 1978 un premier environnement de développement intégré (le « Cornell Program Synthesizer[5] ») ainsi qu'un système de génération d'éditeurs de code source spécialisés dans un langage donné à partir de la théorie de la grammaire attribuée (le « Synthesizer Generator »[6],[7], conçu en 1982). Plusieurs systèmes ont été implémentés grâce au « Synthesizer Generator », comme l'outil de vérification formelle Penelope[8] du langage Ada. Les deux cofondateurs de Grammatech Tim Teitelbaum et Thomas Reps reçurent en 2010 le prix de l'impact rétrospectif (« Retrospective Impact Award »[9]) du forum SIGSOFT[10] de l'ACM pour leur travail sur le « Synthesizer Generator »[11]. Ils reçurent de nouveau le prix l'année suivante pour une autre recherche, surnommée la recherche « Wisconsin slicing»[12] qui a donné lieu à la commercialisation d'un produit : l'outil CodeSurfer.

En effet, GrammaTech et l'université du Wisconsin sont en étroite collaboration depuis 2001 pour développer des outils d'analyse de code, de rétro-ingénierie et d'anti-altération de fichiers exécutables. Ces recherches ont donné naissance à CodeSurfer/x86[13] (une version de CodeSurfer pour les jeux d'instructions Intel x86), CodeSonar/x86 ainsi qu'un système permettant la génération d'analyseurs statique à partir de la sémantique formelle des jeux d'instruction de chaque architecture matérielle.[14].

Références

  1. Liste des références GrammaTech
  2. (en) Richard A. Quinnell, « Static analysis stomps on bugs », EETimes, (lire en ligne, consulté le )
  3. (en) Raoul Jetley et Paul Anderson, « Using static analysis to evaluate software in medical devices », EETimes, (lire en ligne)
  4. Unintended Acceleration
  5. (en) T. Teitelbaum, « The Cornell Program Synthesizer: A syntax-directed programming environment », Communications of the ACM, vol. 24, no 9, september, 1981, p. 563–573 (DOI 10.1145/358746.358755)
  6. (en) T. Reps, Generating Language-Based Environments, Cambridge, MA, The M.I.T. Press, , 2e éd. (ISBN 978-0-262-18115-0)
  7. (en) Reps, Thomas W., and Teitelbaum, Tim, The Synthesizer Generator : A System for Constructing Language-Based Editors, Cambridge, MA, Springer-Verlag, , 1re éd. (ISBN 978-0-387-96857-5)
  8. D. Guaspari (1989). « Penelope, an Ada verification system » TRI-Ada '89: Proceedings of the conference on Tri-Ada '89: 216–224 p., Pittsburgh, PA: ACM (DOI:10.1145/74261.74277).
  9. Retrospective Impact Award
  10. SIGSOFT
  11. T. Reps, Teitelbaum, T. (1984). « The Synthesizer Generator  » In SDE 1 Proc. of the first ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments.
  12. T. Reps, Horowitz, S., Sagiv, M., and Rosay, G. (December 1994). « Speeding Up Slicing  » Proc. Second ACM SIGSOFT Symposium on Foundations of Software Engineering.
  13. G. Balakrishnan, Reps, T. (2004). « Analyzing memory accesses in x86 executables  » Proc. Int. Conf. on Compiler Construction: 5–23 p., New York, NY: Springer-Verlag.
  14. J. Lim, 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.

Voir aussi

Articles connexes

Liens externes

  • Portail de la programmation informatique
  • Portail des entreprises
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.