Dino Distefano
Queen Mary University of London
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Dino Distefano.
tools and algorithms for construction and analysis of systems | 2006
Dino Distefano; Peter W. O'Hearn; Hongseok Yang
We describe a program analysis for linked list programs where the abstract domain uses formulae from separation logic.
symposium on principles of programming languages | 2009
Cristiano Calcagno; Dino Distefano; Peter W. O'Hearn; Hongseok Yang
This paper describes a compositional shape analysis, where each procedure is analyzed independently of its callers. The analysis uses an abstract domain based on a restricted fragment of separation logic, and assigns a collection of Hoare triples to each procedure; the triples provide an over-approximation of data structure usage. Compositionality brings its usual benefits -- increased potential to scale, ability to deal with unknown calling contexts, graceful way to deal with imprecision -- to shape analysis, for the first time. The analysis rests on a generalized form of abduction (inference of explanatory hypotheses) which we call bi-abduction. Bi-abduction displays abduction as a kind of inverse to the frame problem: it jointly infers anti-frames (missing portions of state) and frames (portions of state not touched by an operation), and is the basis of a new interprocedural analysis algorithm. We have implemented our analysis algorithm and we report case studies on smaller programs to evaluate the quality of discovered specifications, and larger programs (e.g., an entire Linux distribution) to test scalability and graceful imprecision.
computer aided verification | 2008
Hongseok Yang; Oukseh Lee; Josh Berdine; Cristiano Calcagno; Byron Cook; Dino Distefano; Peter W. O'Hearn
Pointer safety faults in device drivers are one of the leading causes of crashes in operating systems code. In principle, shape analysis tools can be used to prove the absence of this type of error. In practice, however, shape analysis is not used due to the unacceptable mixture of scalability and precision provided by existing tools. In this paper we report on a new join operation
conference on object-oriented programming systems, languages, and applications | 2008
Dino Distefano; Matthew J. Parkinson J
{\sqcup\dagger}
computer aided verification | 2006
Josh Berdine; Byron Cook; Dino Distefano; Peter W. O'Hearn
for the separation domain which aggressively abstracts information for scalability yet does not lead to false error reports.
symposium on principles of programming languages | 2007
Josh Berdine; Aziem Chawdhary; Byron Cook; Dino Distefano; Peter W. O'Hearn
{\sqcup\dagger}
Journal of the ACM | 2011
Cristiano Calcagno; Dino Distefano; Peter W. O’Hearn; Hongseok Yang
is a critical piece of a new shape analysis tool that provides an acceptable mixture of scalability and precision for industrial application. Experiments on whole Windows and Linux device drivers (firewire, pci-driver, cdrom, md, etc.) represent the first working application of shape analysis to verification of whole industrial programs.
nasa formal methods symposium | 2015
Cristiano Calcagno; Dino Distefano; Jeremy Dubreil; Dominik Gabi; Pieter Hooimeijer; Martino Luca; Peter W. O’Hearn; Irene Papakonstantinou; Jim Purbrick; Dulma Rodriguez
In this paper we introduce a novel methodology for verifying a large set of Java programs which builds on recent theoretical developments in program verification: it combines the idea of abstract predicate families and the idea of symbolic execution and abstraction using separation logic. The proposed technology has been implemented in a new automatic verification system, called jStar, which combines theorem proving and abstract interpretation techniques. We demonstrate the effectiveness of our methodology by using jStar to verify example programs implementing four popular design patterns (subject/observer, visitor, factory, and pooling). Although these patterns are extensively used by object-oriented developers in real-world applications, so far they have been highly challenging for existing object-oriented verification techniques.
nasa formal methods | 2011
Cristiano Calcagno; Dino Distefano
We describe a new program termination analysis designed to handle imperative programs whose termination depends on the mutation of the programs heap. We first describe how an abstract interpretation can be used to construct a finite number of relations which, if each is well-founded, implies termination. We then give an abstract interpretation based on separation logic formulaewhich tracks the depths of pieces of heaps. Finally, we combine these two techniques to produce an automatic termination prover. We show that the analysis is able to prove the termination of loops extracted from Windows device drivers that could not be proved terminating before by other means; we also discuss a previously unknown bug found with the analysis.
formal methods for open object-based distributed systems | 2000
Dino Distefano; Joost-Pieter Katoen; Arend Rensink
An invariance assertion for a program location l is a statement that always holds at l during execution of the program. Program invariance analyses infer invariance assertions that can be useful when trying to prove safety properties. We use the term variance assertion to mean a statement that holds between any state at l and any previous state that was also at l. This paper is concerned with the development of analyses for variance assertions and their application to proving termination and liveness properties. We describe a method of constructing program variance analyses from invariance analyses. If we change the underlying invariance analysis, we get a different variance analysis. We describe several applications of the method, including variance analyses using linear arithmetic and shape analysis. Using experimental results we demonstrate that these variance analyses give rise to a new breed of termination provers which are competitive with and sometimes better than todays state-of-the-art termination provers.