Applications of First-order Integer Arithmetic to the Verification of Programs with Lists

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



Duration: 1:13:00
183 views
2


The arithmetic of natural numbers with addition and divisibility has been shown undecidable as a consequence of the fact that multiplication of natural numbers can be interpreted into this theory, as shown by J. Robinson (1949). The most important decidable subsets of the arithmetic of addition and divisibility are the arithmetic of addition, proved by M. Presburger (1929), and the purely existential subset, proved independently by A. Beltyukov and L. Lipshitz (1976). In the first part of the talk, we will investigate the decidability of a new subset of the arithmetic with addition and divisibility, consisting of formulae with quantifier prefix in the language $Q^* \{\exists, \forall\}^*, Q \in \{\exists, \forall\}$, where the first Q-quantified variables are the variables occurring to the left of the divisibility predicate. The advantage of this subset is that it allows a limited form of quantifier alternation. In the second part of the talk, we will analyze the complexity of checking safety and termination properties, for a very simple, yet non-trivial, class of programs with singly-linked list data structures. Since, in general, programs with lists are known to have the power of Turing machines, we restrict the control structure, by forbidding nested loops and destructive updates. Surprisingly, even with these simplifying conditions, the class of programs working on heaps with more than one cycle has undecidable safety and termination problems, whereas decidability can be established when the input heaps may have at most one loop. The proofs for both the undecidability and the decidability results rely on the number-theoretic results presented previously. The talk extends some results presented at FOSSACS 2005 and is joint work with Marius Bozga (Verimag, F).




Other Videos By Microsoft Research


2016-09-06SCS '06 - Lightning Round 1: Learning in and about Virtual Worlds - Talk 3
2016-09-06Refinding Information on the Web: What do we do?
2016-09-06SCS '06 - Lightning Round 1: Learning in and about Virtual Worlds - Talk 1
2016-09-06Edgenet 2006 - A Data Model for Policy
2016-09-06Why People Around the World Really Are Different, and the Hidden Clues to Understanding Us All [1/2]
2016-09-06SCS '06 - Introductions and Icebreaker - Part 1
2016-09-06Dispersion of Mass and the Complexity of Randomized Algorithms
2016-09-06Edgenet 2006 - Experimental Design for Flexible Network Diagnosis
2016-09-06Edgenet 2006 - Experiences Managing Networks in IBM HPC Grid Infrastructure and Enterprise VoIP
2016-09-06Edgenet 2006 - Is an Office Without Wires Feasible?
2016-09-06Applications of First-order Integer Arithmetic to the Verification of Programs with Lists
2016-09-06Pushing Group Communication to the Edge Will Enable Radically New Distributed Applications
2016-09-06Edgenet 2006 - Virtual LAN as a Network Control Mechanism
2016-09-06Edgenet 2006 - New Directions in Enterprise Network Management
2016-09-06Edgenet 2006 - Problems and Solutions in Enterprise Network Control
2016-09-06Memex Summit (Digital Memories Workshop) - Digital Memories Software
2016-09-06Brain Computer Interface Systems: Progress and Opportunities
2016-09-06Need: How PowerPoint Adversely Mediates Thought and Possible Remedies [1/7]
2016-09-06Edgenet 2006 - Managing Corporate WiFi Networks Using DAIR
2016-09-06Edgenet 2006 - The Case for Comprehensive Diagnostics
2016-09-06Edgenet 2006 - The Protection Problem in Enterprise Networks



Tags:
microsoft research