Dependable Software via Automated Verification

Despite their popularity and importance, pointer-based programs with linked data structures remain a major challenge for program verification. We propose an automated verification system that is concise, precise and expressive for ensuring the safety of pointer-based programs. Our approach is based on separation logic and uses user-definable shape predicates to allow programmers to describe a wide range of data structures with their associated properties.

To support automatic verification, we design a new entailment checking procedure that can handle well-founded inductive predicates using unfold/fold reasoning. To improve expressivity, we support set of states for proof search, intersection types for methods and coercion rules for related shape predicates. Recently, We have also applied these modular and reusable verification techniques to OO programs. We have proven the soundness and termination of our verification system, and have built a working system.

Speaker Details

Wei-Ngan Chin received his BSc and MSc in Computer Science from the University of Manchester and a PhD in Computing from Imperial College, London. He is presently an Associate Professor in the Department of Computer Science, National University of Singapore.His research interests are in programming languages and software engineering. He has worked on various program analyses and verification techniques that are aimed at clarity, reliability and reusability. His recent research topics include software verification, memory resource analysis, and OO genericity.He currently leads several projects, including an A*STAR-funded project on “A Constructive Framework for Dependable Software”.

Date:
Speakers:
Chin Wei Ngan
Affiliation:
National University of Singapore
    • Portrait of Jeff Running

      Jeff Running