IMDEA Software

Iniciativa IMDEA

Inicio > Eventos > Software Seminar Series > 2011 > Layered Coding Rule Definition and Enforcing Using LLVM
Esta página aún no ha sido traducida. A continuación se muestra la página en inglés.

martes 26 de abril de 2011

11:00am Meeting room 302 (Mountain View), level 3

Guillem Marpons, Researcher, BABEL, UPM

Layered Coding Rule Definition and Enforcing Using LLVM

Abstract:

Coding rules are used in industry to enforce good software practices that improve software reliability and maintainability. Some examples of standard rule sets are MISRA-C/C++ and High Integrity C++.

In a previous work we developed a framework to formalize coding rules as logic programs, that can be later run on a knowledge base of the program to inspect. In order to formalize all the rules in standard sets the knowledge base needs to contain information about the program that ranges from syntactic to undecidable semantic properties. As many of the complex properties that coding rules depend upon (or approximations to them) are computed by static analyzers present in the literature, we aim at reusing them presenting their result in a uniform way that can be easily understood and combined by engineers responsible for defining new rules. In fact, some of those analyzes are implemented in modern compilers, but their results are almost exclusively applied to optimization.

In this talk we present initial work on trying to use the LLVM compiling infrastructure (http://llvm.org) for enriching our program facts base with pointer aliasing information, and how this information can be used to define and enforce actual coding rules.

This is joint work with Julio Mariño.