Publication Details

An Easy to Use Infrastructure for Building Static Analysis Tools

DUDKA Kamil, PERINGER Petr and VOJNAR Tomáš. An Easy to Use Infrastructure for Building Static Analysis Tools. Lecture Notes in Computer Science, vol. 2012, no. 6927, pp. 527-534. ISSN 0302-9743. Available from: http://www.springerlink.com/content/750240l1tk386572/
Czech title
Snadno použitelná infrastruktura pro výstavbu nástrojů na statickou analýzu
Type
journal article
Language
english
Authors
Dudka Kamil, Ing. (DITS FIT BUT)
Peringer Petr, Dr. Ing. (DITS FIT BUT)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)
URL
Keywords

gcc, plug-in, Code Listener, static analysis

Abstract

This paper deals with design and implementation of an easy to use infrastructure for building static analyzers. The infrastructure provides an abstraction layer called a Code Listener over existing source code parsers like, for example, GCC or Sparse. It is distributed as a C++ library that can be used to build static analyzers in the form of GCC plug-ins. The interface exposed to analyzers is, however, completely independent of GCC, which allows one to run the same analyzer on top of different code parsers without a need to change anything in the analyzer. We describe the key design principles of the infrastructure and briefly introduce its application programming interface that is available to analyzers. The infrastructure is already used in research prototypes Predator and Forester, implementing advanced shape analyses, intended to operate on real industrial code.

Published
2012
Pages
527-534
Journal
Lecture Notes in Computer Science, vol. 2012, no. 6927, ISSN 0302-9743
Publisher
Springer Verlag
BibTeX
@ARTICLE{FITPUB9619,
   author = "Kamil Dudka and Petr Peringer and Tom\'{a}\v{s} Vojnar",
   title = "An Easy to Use Infrastructure for Building Static Analysis Tools",
   pages = "527--534",
   journal = "Lecture Notes in Computer Science",
   volume = 2012,
   number = 6927,
   year = 2012,
   ISSN = "0302-9743",
   language = "english",
   url = "https://www.fit.vut.cz/research/publication/9619"
}
Back to top