Regression verification for multi-threaded programs

Sagar Chaki, Arie Gurfinkel, Ofer Strichman

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Regression verification is the problem of deciding whether two similar programs are equivalent under an arbitrary yet equal context, given some definition of equivalence. So far this problem has only been studied for the case of single-threaded deterministic programs. We present a method for regression verification to establish partial equivalence (i.e., input/output equivalence of terminating executions) of multi-threaded programs. Specifically, we develop two proof-rules that decompose the regression verification between concurrent programs to that of regression verification between sequential functions, a more tractable problem. This ability to avoid composing threads altogether when discharging premises, in a fully automatic way and for general programs, uniquely distinguishes our proof rules from others used for classical verification of concurrent programs.

Original languageEnglish
Title of host publicationVerification, Model Checking, and Abstract Interpretation - 13th International Conference, VMCAI 2012, Proceedings
Pages119-135
Number of pages17
DOIs
StatePublished - 2012
Event13th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2012 - Philadelphia, PA, United States
Duration: 22 Jan 201224 Jan 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7148 LNCS

Conference

Conference13th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2012
Country/TerritoryUnited States
CityPhiladelphia, PA
Period22/01/1224/01/12

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Regression verification for multi-threaded programs'. Together they form a unique fingerprint.

Cite this