Defects that arise due to violating a prescribed order for executing statements or executing a disallowed sequence of statements can be hard to detect since the sequence is often spread over multiple functions and source code files. In this dissertation, we develop a verification tool which uses a sound and precise static analysis to verify temporal specifications that can involve multiple objects. Statically analyzing properties that involve multiple objects requires two separate abstractions; one that abstracts the objects in the program and the second which abstracts the state of a group of objects. We present two such abstractions. Objects are abstracted using a storeless heap abstraction. This provides flow-sensitive tracking of in...
. Some parallel programming languages allow objects to be shared by different processes under multip...
International audienceWe present new static analysis methods for proving liveness properties of prog...
Temporal logic model checking is one of the most widely used verification techniques. It allows to a...
Before distributing a program, programmers would like to know for certain that it does what it is in...
Real-time systems such as medical devices, surgical robots, and microprocessors are safety- critical...
International audienceWe present new static analysis methods for proving liveness properties of prog...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
For a single object, many programming errors can be de-tected by specifying the undesirable sequence...
International audienceIn this document, we use the Abstract Interpretation framework to analyze conc...
In this paper we propose and argue for a modular framework for interprocedural program analysis, whe...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
This dissertation deals with the automatic generation of sound specifications from a given program i...
We propose a generalisation of trace refinement for the verification of inter-procedural programs. O...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
We present a technique to predict property violations in multi-threaded programs from successful exe...
. Some parallel programming languages allow objects to be shared by different processes under multip...
International audienceWe present new static analysis methods for proving liveness properties of prog...
Temporal logic model checking is one of the most widely used verification techniques. It allows to a...
Before distributing a program, programmers would like to know for certain that it does what it is in...
Real-time systems such as medical devices, surgical robots, and microprocessors are safety- critical...
International audienceWe present new static analysis methods for proving liveness properties of prog...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
For a single object, many programming errors can be de-tected by specifying the undesirable sequence...
International audienceIn this document, we use the Abstract Interpretation framework to analyze conc...
In this paper we propose and argue for a modular framework for interprocedural program analysis, whe...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
This dissertation deals with the automatic generation of sound specifications from a given program i...
We propose a generalisation of trace refinement for the verification of inter-procedural programs. O...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
We present a technique to predict property violations in multi-threaded programs from successful exe...
. Some parallel programming languages allow objects to be shared by different processes under multip...
International audienceWe present new static analysis methods for proving liveness properties of prog...
Temporal logic model checking is one of the most widely used verification techniques. It allows to a...