This thesis introduces a novel technique for the automated analysis of compiled programs, which is focused on, but not restricted to, pointer safety properties. Our approach, which we refer to as Symbolic Object Code Analysis (SOCA), employs bounded symbolic execution, and uses an SMT solver as execution and verification engine. Analysing the object code enables us to bypass limitations of other software model checkers with respect to the accepted input language, so that analysing code sections written in inline assembly does not represent a barrier for us. Our technique is especially designed for programs employing complex heap-allocated data structures and provides full counterexample paths for each error found. In difference to other ver...
In automatic software verification, we have observed a theoretical convergence of model checking and...
Symbolic execution is one of the most powerful tools in static analysis for finding bugs. In this te...
Software has become ubiquitous and its impact is still increasing. The more software is created, th...
Abstract Current software model checkers quickly reach their limits when being applied to verifying ...
AbstractWe study the automated verification of pointer safety for heap-manipulating imperative progr...
We propose a novel fine-grained integration of pointer analysis with dynamic analysis, including dyn...
Pointer analysis, as a fundamental research, is to identify the possible runtime values of a pointer...
Symbolic execution is an effective technique for exploring paths ina program and reasoning about all...
AbstractGoanna is an industrial-strength static analysis tool used in academia and industry alike to...
Abstract. This article presents a case study on retrospective verification of the Linux Virtual File...
This article presents a case study on retrospective verification of the Linux Virtual File System (V...
AbstractThis talk gives an overview of various approaches for verifying the correctness of programs ...
Dynamic test generation consists of executing a program while gathering symbolic constraints on inpu...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
While automated verification of imperative programs has been studied intensively, proving terminatio...
In automatic software verification, we have observed a theoretical convergence of model checking and...
Symbolic execution is one of the most powerful tools in static analysis for finding bugs. In this te...
Software has become ubiquitous and its impact is still increasing. The more software is created, th...
Abstract Current software model checkers quickly reach their limits when being applied to verifying ...
AbstractWe study the automated verification of pointer safety for heap-manipulating imperative progr...
We propose a novel fine-grained integration of pointer analysis with dynamic analysis, including dyn...
Pointer analysis, as a fundamental research, is to identify the possible runtime values of a pointer...
Symbolic execution is an effective technique for exploring paths ina program and reasoning about all...
AbstractGoanna is an industrial-strength static analysis tool used in academia and industry alike to...
Abstract. This article presents a case study on retrospective verification of the Linux Virtual File...
This article presents a case study on retrospective verification of the Linux Virtual File System (V...
AbstractThis talk gives an overview of various approaches for verifying the correctness of programs ...
Dynamic test generation consists of executing a program while gathering symbolic constraints on inpu...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
While automated verification of imperative programs has been studied intensively, proving terminatio...
In automatic software verification, we have observed a theoretical convergence of model checking and...
Symbolic execution is one of the most powerful tools in static analysis for finding bugs. In this te...
Software has become ubiquitous and its impact is still increasing. The more software is created, th...