Publication detail

An Easy to Use Infrastructure for Building Static Analysis Tools

DUDKA, K. PERINGER, P. VOJNAR, T.

Original Title

An Easy to Use Infrastructure for Building Static Analysis Tools

English Title

An Easy to Use Infrastructure for Building Static Analysis Tools

Type

conference paper

Language

en

Original 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.

English 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.

Keywords

gcc, plug-in, Code Listener, static analysis

RIV year

2011

Released

26.11.2011

Publisher

The Universidad de Las Palmas de Gran Canaria

Location

Universidad de Las Palmas de Canaria

ISBN

978-84-693-9560-8

Book

Proceedings of the 13th International Conference on Computer Aided Systems Theory

Edition

NEUVEDEN

Edition number

NEUVEDEN

Pages from

328

Pages to

329

Pages count

2

BibTex


@inproceedings{BUT76494,
  author="Kamil {Dudka} and Petr {Peringer} and Tomáš {Vojnar}",
  title="An Easy to Use Infrastructure for Building Static Analysis Tools",
  annote="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.",
  address="The Universidad de Las Palmas de Gran Canaria",
  booktitle="Proceedings of the 13th International Conference on Computer Aided Systems Theory",
  chapter="76494",
  edition="NEUVEDEN",
  howpublished="print",
  institution="The Universidad de Las Palmas de Gran Canaria",
  year="2011",
  month="november",
  pages="328--329",
  publisher="The Universidad de Las Palmas de Gran Canaria",
  type="conference paper"
}