Towards Verification of Behavioral Software Contracts
The past two decades have seen two parallel trends in software development: the increased use of linguistic tools to rigorously ensure the reliability of software, and the rise of higher-order programming languages. A prominent strand within the former are Meyer-style contract systems, originally developed for the Eiffel programming language and now available in a range of languages, including Spec#. Contracts empower programmers to write important invariants of the components they develop and have these down invariants enforced at runtime. Over the past few years, MSR’s RiSE group has demonstrated that theorem provers can verify many of these contracts at compile time, supporting programmers as they create modules in their IDEs.
As research over the past decade has shown, contracts for higher-order languages pose novel challenges. These contracts are no longer simple boolean predicates on flat values but test objects and functions for infinitary properties. Reasoning about such properties calls for new approaches and technologies, and my talk will present a first solution. The approach extends symbolic execution to use behavioral contracts as symbolic values, thus enabling symbolic approximation of higher-order behavior. This work opens a path toward applying first-order verification techniques to a higher-order setting.
This is joint work with Sam Tobin-Hochstadt.
Speaker Bios
David Van Horn is a Research Assistant Professor in the Programming Research Lab at Northeastern University. He received his PhD in 2009 from Brandeis University and from 2009 to 2011 he was a CRA Computing Innovation Fellow at Northeastern.
- Séries:
- Microsoft Research Talks
- Date:
- Haut-parleurs:
- David Van Horn
- Affiliation:
- Northeastern University
-
-
Jeff Running
-
-
Taille: Microsoft Research Talks
-
Decoding the Human Brain – A Neurosurgeon’s Experience
Speakers:- Pascal Zinn,
- Ivan Tashev
-
-
-
-
Galea: The Bridge Between Mixed Reality and Neurotechnology
Speakers:- Eva Esteban,
- Conor Russomanno
-
Current and Future Application of BCIs
Speakers:- Christoph Guger
-
Challenges in Evolving a Successful Database Product (SQL Server) to a Cloud Service (SQL Azure)
Speakers:- Hanuma Kodavalla,
- Phil Bernstein
-
Improving text prediction accuracy using neurophysiology
Speakers:- Sophia Mehdizadeh
-
-
DIABLo: a Deep Individual-Agnostic Binaural Localizer
Speakers:- Shoken Kaneko
-
-
Recent Efforts Towards Efficient And Scalable Neural Waveform Coding
Speakers:- Kai Zhen
-
-
Audio-based Toxic Language Detection
Speakers:- Midia Yousefi
-
-
From SqueezeNet to SqueezeBERT: Developing Efficient Deep Neural Networks
Speakers:- Sujeeth Bharadwaj
-
Hope Speech and Help Speech: Surfacing Positivity Amidst Hate
Speakers:- Monojit Choudhury
-
-
-
-
-
'F' to 'A' on the N.Y. Regents Science Exams: An Overview of the Aristo Project
Speakers:- Peter Clark
-
Checkpointing the Un-checkpointable: the Split-Process Approach for MPI and Formal Verification
Speakers:- Gene Cooperman
-
Learning Structured Models for Safe Robot Control
Speakers:- Ashish Kapoor
-