Path invariants

Subscribers:
345,000
Published on ● Video Link: https://www.youtube.com/watch?v=vUN0n23zVuw



Duration: 44:53
162 views
0


The success of software verification depends on the ability to find a suitable abstraction of a program automatically.  We propose a method for automated abstraction refinement which overcomes some limitations of current predicate discovery schemes.  In current schemes, the cause of a false alarm is identified as an infeasible error path, and the abstraction is refined in order to remove that path.  By contrast, we view the cause of a false alarm ---the spurious counterexample--- as a full-fledged program, namely, a fragment of the original program whose control-flow graph may contain loops and represent unbounded computations.  There are two advantages to using such path programs as counterexamples for abstraction refinement.  First, we can bring the whole machinery of program analysis to bear on path programs, which are typically small compared to the original program.  Specifically, we use constraint-based invariant generation to automatically infer invariants of path programs ---so-called path invariants.  Second, we use path invariants for abstraction refinement in order to remove not one infeasibility at a time, but at once all (possibly infinitely many) infeasible error computations that are represented by a path program.  Unlike previous predicate discovery schemes, our method handles loops without unrolling them; it infers abstractions that involve universal quantification and naturally incorporates disjunctive reasoning.




Other Videos By Microsoft Research


2016-09-06Virtual Reality Therapy: Using immersive virtual reality games to help reduce suffering
2016-09-06A Crowd of One: The Future of Individual Identity           
2016-09-06Ubiquitous Reflective Technologies
2016-09-06Customizing the Computational Capabilities of Processors
2016-09-06Virgil: Objects on the Head of a Pin
2016-09-06Video Synopsis: Making an Infinite Video Shorter
2016-09-06Linked Decompositions of Networks and Polya Urns with Choice
2016-09-06The Light Portal: 3D Reconstruction and Visualization over Space and Time
2016-09-06Distributed Speculative Execution: A Programming Model for Reliability and Increased Performance
2016-09-06Director of MITΓÇÖs Auto-ID Laboratory and a professor of Information Engineering
2016-09-06Path invariants
2016-09-06Records, sums, cases, and exceptions: Row-polymorphism at work [1/9]
2016-09-06Internet 3.0: Ten Problems with Current Internet Architecture and Solutions for the Next Generation
2016-09-06The Bilateral Grid and a Topological Approach to Image Segmentation
2016-09-06Software Development Practices and Knowledge Sharing: A Comparison of XP & Waterfall Team Behaviors
2016-09-06How likely is BuffonΓÇÖs needle to meet a Cantor square?
2016-09-06Dense triangle-free digraphs
2016-09-06MOP: A Generic and Efficient Runtime Verification Framework
2016-09-06An Examination of User Behaviour during Web Information Tasks
2016-09-06Modeling Science: Topic models of Scientific Journals and Other Large Document Collections
2016-09-06Exhaustive Phase Order Search Space Exploration and Evaluation



Tags:
microsoft research