skip to main content
10.1145/1810295.1810454acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

QED: a proof system based on reduction and abstraction for the static verification of concurrent software

Published: 01 May 2010 Publication History

Abstract

We present a proof system and supporting tool, QED, for the static verification of concurrent software. Our key idea is to simplify the verification of a program by rewriting it with larger atomic actions. We demonstrated the simplicity and effectiveness of our approach on benchmarks with intricate synchronization.

References

[1]
L. de Moura and N. Bjørner. Z3: An Efficient SMT Solver. TACAS'08.
[2]
R. DeLine and K. R. M. Leino. Boogiepl: A typed procedural language for checking object-oriented programs. Technical Report MSR-TR-2005-70. Microsoft Research. 2005.
[3]
T. Elmas, S. Qadeer, A. Sezgin, O. Subasi, and S. Tasiran. Simplifying the proof of linearizability with reduction and abstraction. TACAS'10.
[4]
T. Elmas, S. Qadeer, and S. Tasiran. A calculus of atomic actions. POPL'09.
[5]
T. Elmas, A. Sezgin, S. Tasiran, and S. Qadeer. An annotation assistant for interactive debugging of programs with common synchronization idioms. PADTAD'09.
[6]
C. Flanagan and S. Qadeer. Types for atomicity. TLDI'03.
[7]
S. N. Freund and S. Qadeer. Exploiting purity for atomicity. IEEE Trans. Softw. Eng. 2005.
[8]
M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann. 2008.
[9]
M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 1990.
[10]
C. B. Jones. Development Methods for Computer Programs including a Notion of Interference. PhD thesis. Oxford University. 1981.
[11]
R. J. Lipton. Reduction: a method of proving properties of parallel programs. Commun. ACM. 1975.
[12]
P. W. O'Hearn, H. Yang, and J. C. Reynolds. Separation and information hiding. POPL'04.
[13]
S. Owicki and D. Gries. Verifying properties of parallel programs: an axiomatic approach. Commun. ACM. 1976.

Cited By

View all
  • (2022)Veracity: declarative multicore programming with commutativityProceedings of the ACM on Programming Languages10.1145/35633496:OOPSLA2(1726-1756)Online publication date: 31-Oct-2022
  • (2017)Starling: Lightweight Concurrency Verification with ViewsComputer Aided Verification10.1007/978-3-319-63387-9_27(544-569)Online publication date: 13-Jul-2017
  • (2015)Verifying LinearisabilityACM Computing Surveys10.1145/279655048:2(1-43)Online publication date: 24-Sep-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
May 2010
554 pages
ISBN:9781605587196
DOI:10.1145/1810295
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstraction
  2. atomicity
  3. concurrent programs
  4. reduction

Qualifiers

  • Research-article

Conference

ICSE '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Veracity: declarative multicore programming with commutativityProceedings of the ACM on Programming Languages10.1145/35633496:OOPSLA2(1726-1756)Online publication date: 31-Oct-2022
  • (2017)Starling: Lightweight Concurrency Verification with ViewsComputer Aided Verification10.1007/978-3-319-63387-9_27(544-569)Online publication date: 13-Jul-2017
  • (2015)Verifying LinearisabilityACM Computing Surveys10.1145/279655048:2(1-43)Online publication date: 24-Sep-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media