Use this URL to cite or link to this record in EThOS:
Title: Abstractions and independence
Author: Sousa, Marcelo
ISNI:       0000 0004 7966 0991
Awarding Body: University of Oxford
Current Institution: University of Oxford
Date of Award: 2018
Availability of Full Text:
Access from EThOS:
Full text unavailable from EThOS. Please try the link below.
Access from Institution:
Efficient state space exploration of a concurrent program is a fundamental problem in algorithmic verification because of the known state explosion problem. In the past decades, dynamic partial order reductions and Petri net unfoldings have been two promising approaches to address the state explosion problem. However, these techniques typically focus on the combinatorial explosion caused by the potential linearizations of partial orders and do not generally address multiple sources of explosion. In this dissertation we present a multi-faceted approach to the state explosion problem in automated safety verification of concurrent programs. Our approach is based on two main ideas. The first idea is that there is a formal connection between the notion of independence of concurrent actions and the fundamental notion of event as an atomic unit in the representation of the state space of a concurrent program. Using this idea we developed state-of-the-art exploration algorithms based on event structures which can achieve super-optimal explorations of the state space. The second idea is to combine event structures with data abstractions to further mitigate the state explosion. We show that in this setting, the independence relation exploited in previous approaches is a particular instance of a larger class of independence relations. Our main contribution is an unfolding algorithm that uses a new notion of independence to avoid redundant transformer application, thread-local fixed points to reduce the size of the unfolding, and a novel cutoff criterion based on subsumption to guarantee termination of the analysis. Our experiments show that the abstract unfolding produces an order of magnitude fewer false alarms than a mature abstract interpreter, while being several orders of magnitude faster than solver-based tools that have the same precision.
Supervisor: Kroening, Daniel ; Ong, Luke Sponsor: Google
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available
Keywords: Computer science