Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Dino Distefano is active.

Publication


Featured researches published by Dino Distefano.


tools and algorithms for construction and analysis of systems | 2006

A local shape analysis based on separation logic

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

Compositional shape analysis by means of bi-abduction

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

Scalable Shape Analysis for Systems Code

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

jStar: towards practical verification for java

Dino Distefano; Matthew J. Parkinson J

{\sqcup\dagger}


computer aided verification | 2006

Automatic termination proofs for programs with shape-shifting heaps

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

Variance analyses from invariance analyses

Josh Berdine; Aziem Chawdhary; Byron Cook; Dino Distefano; Peter W. O'Hearn

{\sqcup\dagger}


Journal of the ACM | 2011

Compositional Shape Analysis by Means of Bi-Abduction

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

Moving Fast with Software Verification

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

Infer: an automatic program verifier for memory safety of C programs

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

On a temporal logic for object-based systems

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.

Collaboration


Dive into the Dino Distefano's collaboration.

Top Co-Authors

Avatar

Peter W. O'Hearn

Queen Mary University of London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Byron Cook

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Radu Grigore

University College Dublin

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge