Trace-driven verification of multithreaded programs

  • Zijiang Yang
  • , Karem Sakallah

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

1 Scopus citations

Abstract

We present a new method that combines the efficiency of testing with the reasoning power of satisfiability modulo theory (SMT) solvers for the verification of multithreaded programs under a user specified test vector. Our method performs dynamic executions to obtain both under- and over-approximations of the program, represented as quantifier-free first order logic formulas. The formulas are then analyzed by an SMT solver which implicitly considers all possible thread interleavings. The symbolic analysis may return the following results: (1) it reports a real bug, (2) it proves that the program has no bug under the given input, or (3) it remains inconclusive because the analysis is based on abstractions. In the last case, we present a refinement procedure that uses symbolic analysis to guide further executions.

Original languageEnglish
Title of host publicationFormal Methods and Software Engineering - 12th International Conference on Formal Engineering Methods, ICFEM 2010, Proceedings
Pages404-419
Number of pages16
DOIs
StatePublished - 2010
Event12th International Conference on Formal Engineering Methods, ICFEM 2010 - Shanghai, China
Duration: 17 Nov 201019 Nov 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6447 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference12th International Conference on Formal Engineering Methods, ICFEM 2010
Country/TerritoryChina
CityShanghai
Period17/11/1019/11/10

Fingerprint

Dive into the research topics of 'Trace-driven verification of multithreaded programs'. Together they form a unique fingerprint.

Cite this