Verifying Properties on a Program Using Static Analysis and Model Checking

From LRDE

Revision as of 13:58, 29 June 2020 by Bot (talk | contribs) (Created page with "{{CSIReport | authors = Aymeric Fages | title = Verifying Properties on a Program Using Static Analysis and Model Checking | year = 2020 | number = 2020 | abstract = In this p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Abstract

In this paper, we present different solutions to transform a program into a finite state system. Then we present our functional pipeline that allows us the say whether a program verifies a LTL formula. We describe all the aspect of this pipeline from LLVM tools and a C++ algorithm for model abstraction to the Spot library. On a first part of this paper, we explain the type of finite graph that we want to obtain in order to apply model checking in. On a second part, we define important models such as pushdown systems or Buchi automaton. On a third part, we explain how to find an under-approximation and over-approximation of a pushdown system as a finite system. Then finally, we show how those theoretical solutions were implemented into an actual functional pipeline.