We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Using clang as a Frontend on a Formal Verification Tool

Formal Metadata

Title
Using clang as a Frontend on a Formal Verification Tool
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
ESBMC is a SMT-based context-bounded bounded model checker that aims toprovide bit-precise verification of both ANSI-C and C++ programs. Thepresentation will briefly introduce the tool and then show the usage oflibtooling as a frontend for the tool, including the problems we had duringthe development and what we hope for the future. On the first half of the talk, I'll describe the tool and present someexamples of its usage, including the verification of concurrent programs. I'll then focus on the tool's new frontend, which generates the AST of theprogram using clang's libtooling and converts it to an internal format that'sused for the verification. This second half of the presentation will befocused on the development of the C frontend and the yet to be C++ frontend,including how we had to adjust to the libtooling API. The aim of the talk is to present the difficulties that we faced when movingaway from our frontend to clang, including limitations we found during thedevelopment. I'll end the talk with what we hope for the future, as users ofclang, which translates to easier access to some of clang's internals(specially the static analyser).