6 Search Results for "O'Hearn, Peter"


Document
A General Approach to Under-Approximate Reasoning About Concurrent Programs

Authors: Azalea Raad, Julien Vanegue, Josh Berdine, and Peter O'Hearn

Published in: LIPIcs, Volume 279, 34th International Conference on Concurrency Theory (CONCUR 2023)


Abstract
There is a large body of work on concurrent reasoning including Rely-Guarantee (RG) and Concurrent Separation Logics. These theories are over-approximate: a proof identifies a superset of program behaviours and thus implies the absence of certain bugs. However, failure to find a proof does not imply their presence (leading to false positives in over-approximate tools). We describe a general theory of under-approximate reasoning for concurrency. Our theory incorporates ideas from Concurrent Incorrectness Separation Logic and RG based on a subset rather than a superset of interleavings. A strong motivation of our work is detecting software exploits; we do this by developing concurrent adversarial separation logic (CASL), and use CASL to detect information disclosure attacks that uncover sensitive data (e.g. passwords) and out-of-bounds attacks that corrupt data. We also illustrate our approach with classic concurrency idioms that go beyond prior under-approximate theories which we believe can inform the design of future concurrent bug detection tools.

Cite as

Azalea Raad, Julien Vanegue, Josh Berdine, and Peter O'Hearn. A General Approach to Under-Approximate Reasoning About Concurrent Programs. In 34th International Conference on Concurrency Theory (CONCUR 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 279, pp. 25:1-25:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{raad_et_al:LIPIcs.CONCUR.2023.25,
  author =	{Raad, Azalea and Vanegue, Julien and Berdine, Josh and O'Hearn, Peter},
  title =	{{A General Approach to Under-Approximate Reasoning About Concurrent Programs}},
  booktitle =	{34th International Conference on Concurrency Theory (CONCUR 2023)},
  pages =	{25:1--25:17},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-299-0},
  ISSN =	{1868-8969},
  year =	{2023},
  volume =	{279},
  editor =	{P\'{e}rez, Guillermo A. and Raskin, Jean-Fran\c{c}ois},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/LIPIcs.CONCUR.2023.25},
  URN =		{urn:nbn:de:0030-drops-190195},
  doi =		{10.4230/LIPIcs.CONCUR.2023.25},
  annote =	{Keywords: Under-approximate reasoning, incorrectness logic, bug detection, software exploits, separation logic}
}
Document
Invited Talk
Concurrent Separation Logics: Logical Abstraction, Logical Atomicity and Environment Liveness Conditions (Invited Talk)

Authors: Philippa Gardner

Published in: LIPIcs, Volume 243, 33rd International Conference on Concurrency Theory (CONCUR 2022)


Abstract
Scalable verification for concurrent programs with shared memory is a long-standing, difficult problem. In 2004, O'Hearn and Brookes introduced concurrent separation logic to provide compositional reasoning about coarse-grained concurrent programs with synchronisation primitives (Gödel prize, 2016). In 2010, I introduced logical abstraction (the fiction of separation) to CSL, developing the CAP logic for reasoning about fine-grained concurrent programs in general and fine-grained lock algorithms in particular. In one logic, it was possible to provide two-sided specifications of concurrent operations, with formally verified implementations and clients. In 2014, I introduced logical atomicity (the fiction of atomicity) to concurrent separation logics, developing the TaDA logic to capture when individual operations behave atomically. Unlike CAP, where synchronisation primitives leak into the specifications, with TaDA the specifications are "just right" in that they provide more general atomic functions specifications to capture, for example, the full behaviour of lock operations. In 2021, I introduced environment liveness conditions to concurrent separation logics, developing the TaDA Live logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking: that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. The fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. In this talk, I will explain this on-going journey in the wonderful world of concurrent separation logics. I will also explain why I have a bright green office chair in the corner of my office, patterned in gold lamé. Many thanks to my fabulous coauthors on concurrent separation logics: Thomas Dinsdale-Young, Emanuele D'Osualdo, Mike Dodds, Azadeh Farzan, Matthew Parkinson, Pedro da Rocha Pinto, Julian Sutherland, Viktor Vafeiadis and more. Suggested Reading: - Peter O'Hearn: Resources, Concurrency and Local Reasoning, Journal of Theoretical Computer Science, Festschrift for John C Reynolds 70th birthday, 2007. - Thomas Dinsdale-Young, Pedro da Rocha Pinto and Philippa Gardner: A Perspective on Specifying and Verifying Concurrent Modules, Journal of Logical and Algebraic Methods in Programming, 2018. - Emanuele D'Osualdo, Azadeh Farzan, Philippa Gardner and Julian Sutherland: TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs, ACM Transactions on Programming Languages and Systems (TOPLAS), 2021.

Cite as

Philippa Gardner. Concurrent Separation Logics: Logical Abstraction, Logical Atomicity and Environment Liveness Conditions (Invited Talk). In 33rd International Conference on Concurrency Theory (CONCUR 2022). Leibniz International Proceedings in Informatics (LIPIcs), Volume 243, p. 2:1, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


Copy BibTex To Clipboard

@InProceedings{gardner:LIPIcs.CONCUR.2022.2,
  author =	{Gardner, Philippa},
  title =	{{Concurrent Separation Logics: Logical Abstraction, Logical Atomicity and Environment Liveness Conditions}},
  booktitle =	{33rd International Conference on Concurrency Theory (CONCUR 2022)},
  pages =	{2:1--2:1},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-246-4},
  ISSN =	{1868-8969},
  year =	{2022},
  volume =	{243},
  editor =	{Klin, Bartek and Lasota, S{\l}awomir and Muscholl, Anca},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/LIPIcs.CONCUR.2022.2},
  URN =		{urn:nbn:de:0030-drops-170659},
  doi =		{10.4230/LIPIcs.CONCUR.2022.2},
  annote =	{Keywords: Concurrent separation logic}
}
Document
09301 Abstracts Collection – Typing, Analysis, and Verification of Heap-Manipulating Programs

Authors: Mooly Sagiv, Arnd Poetzsch-Heffter, and Peter O'Hearn

Published in: Dagstuhl Seminar Proceedings, Volume 9301, Typing, Analysis and Verification of Heap-Manipulating Programs (2010)


Abstract
From July 19 to 24, 2009, the Dagstuhl Seminar 09301 ``Typing, Analysis and Verification of Heap-Manipulating Programs '' was held in Schloss Dagstuhl~--~Leibniz Center for Informatics. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The first section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available.

Cite as

Mooly Sagiv, Arnd Poetzsch-Heffter, and Peter O'Hearn. 09301 Abstracts Collection – Typing, Analysis, and Verification of Heap-Manipulating Programs. In Typing, Analysis and Verification of Heap-Manipulating Programs. Dagstuhl Seminar Proceedings, Volume 9301, pp. 1-15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2010)


Copy BibTex To Clipboard

@InProceedings{sagiv_et_al:DagSemProc.09301.1,
  author =	{Sagiv, Mooly and Poetzsch-Heffter, Arnd and O'Hearn, Peter},
  title =	{{09301 Abstracts Collection – Typing, Analysis, and Verification of Heap-Manipulating Programs}},
  booktitle =	{Typing, Analysis and Verification of Heap-Manipulating Programs},
  pages =	{1--15},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2010},
  volume =	{9301},
  editor =	{Peter O'Hearn and Arnd Poetzsch-Heffter and Mooly Sagiv},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/DagSemProc.09301.1},
  URN =		{urn:nbn:de:0030-drops-24361},
  doi =		{10.4230/DagSemProc.09301.1},
  annote =	{Keywords: Ownership types, static analysis, program verification, heap-manipulating programs}
}
Document
Minimal Ownership for Active Objects

Authors: David Clarke, Tobias Wrigstad, Johan Ostlund, and Einar Broch Johnsen

Published in: Dagstuhl Seminar Proceedings, Volume 9301, Typing, Analysis and Verification of Heap-Manipulating Programs (2010)


Abstract
Active objects offer a structured approach to concurrency, encapsulating both unshared state and a thread of control. For efficient data transfer, data should be passed by reference whenever possible, but this introduces aliasing and undermines the validity of the active objects. This paper proposes a minimal variant of ownership types that preserves the required race freedom invariant yet enables data transfer by reference between active objects (that is, without copying) in many cases, and a cheap clone operation where copying is necessary. Our approach is general and should be adaptable to several existing active object systems.

Cite as

David Clarke, Tobias Wrigstad, Johan Ostlund, and Einar Broch Johnsen. Minimal Ownership for Active Objects. In Typing, Analysis and Verification of Heap-Manipulating Programs. Dagstuhl Seminar Proceedings, Volume 9301, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2010)


Copy BibTex To Clipboard

@InProceedings{clarke_et_al:DagSemProc.09301.3,
  author =	{Clarke, David and Wrigstad, Tobias and Ostlund, Johan and Johnsen, Einar Broch},
  title =	{{Minimal Ownership for Active Objects}},
  booktitle =	{Typing, Analysis and Verification of Heap-Manipulating Programs},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2010},
  volume =	{9301},
  editor =	{Peter O'Hearn and Arnd Poetzsch-Heffter and Mooly Sagiv},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/DagSemProc.09301.3},
  URN =		{urn:nbn:de:0030-drops-24379},
  doi =		{10.4230/DagSemProc.09301.3},
  annote =	{Keywords: Ownership, concurrency, uniqueness, active objects}
}
Document
09301 Executive Summary – Typing, Analysis, and Verification of Heap-Manipulating Programs

Authors: Mooly Sagiv, Arnd Poetzsch-Heffter, and Peter O'Hearn

Published in: Dagstuhl Seminar Proceedings, Volume 9301, Typing, Analysis and Verification of Heap-Manipulating Programs (2010)


Abstract
The document contains an executive summary of the Dagstuhl Seminar "Typing, Analysis, and Verification of Heap-Manipulating Programs" that took place July 2009.

Cite as

Mooly Sagiv, Arnd Poetzsch-Heffter, and Peter O'Hearn. 09301 Executive Summary – Typing, Analysis, and Verification of Heap-Manipulating Programs. In Typing, Analysis and Verification of Heap-Manipulating Programs. Dagstuhl Seminar Proceedings, Volume 9301, pp. 1-2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2010)


Copy BibTex To Clipboard

@InProceedings{sagiv_et_al:DagSemProc.09301.2,
  author =	{Sagiv, Mooly and Poetzsch-Heffter, Arnd and O'Hearn, Peter},
  title =	{{09301 Executive Summary – Typing, Analysis, and Verification of Heap-Manipulating Programs}},
  booktitle =	{Typing, Analysis and Verification of Heap-Manipulating Programs},
  pages =	{1--2},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2010},
  volume =	{9301},
  editor =	{Peter O'Hearn and Arnd Poetzsch-Heffter and Mooly Sagiv},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/DagSemProc.09301.2},
  URN =		{urn:nbn:de:0030-drops-24354},
  doi =		{10.4230/DagSemProc.09301.2},
  annote =	{Keywords: Typing, Static Analysis, Verification, Heap-Manipulating Programs}
}
Document
The Semantic Challenge of Object-Oriented Programming (Dagstuhl Seminar 98261)

Authors: Luca Cardelli, Achim Jung, Peter O'Hearn, and Jens Palsberg

Published in: Dagstuhl Seminar Reports. Dagstuhl Seminar Reports, Volume 1 (2021)


Abstract

Cite as

Luca Cardelli, Achim Jung, Peter O'Hearn, and Jens Palsberg. The Semantic Challenge of Object-Oriented Programming (Dagstuhl Seminar 98261). Dagstuhl Seminar Report 216, pp. 1-14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (1999)


Copy BibTex To Clipboard

@TechReport{cardelli_et_al:DagSemRep.216,
  author =	{Cardelli, Luca and Jung, Achim and O'Hearn, Peter and Palsberg, Jens},
  title =	{{The Semantic Challenge of Object-Oriented Programming (Dagstuhl Seminar 98261)}},
  pages =	{1--14},
  ISSN =	{1619-0203},
  year =	{1999},
  type = 	{Dagstuhl Seminar Report},
  number =	{216},
  institution =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/DagSemRep.216},
  URN =		{urn:nbn:de:0030-drops-151022},
  doi =		{10.4230/DagSemRep.216},
}
  • Refine by Author
  • 4 O'Hearn, Peter
  • 2 Poetzsch-Heffter, Arnd
  • 2 Sagiv, Mooly
  • 1 Berdine, Josh
  • 1 Cardelli, Luca
  • Show More...

  • Refine by Classification
  • 1 Security and privacy → Logic and verification
  • 1 Theory of computation → Concurrency
  • 1 Theory of computation → Program analysis
  • 1 Theory of computation → Programming logic
  • 1 Theory of computation → Separation logic

  • Refine by Keyword
  • 1 Concurrent separation logic
  • 1 Heap-Manipulating Programs
  • 1 Ownership
  • 1 Ownership types
  • 1 Static Analysis
  • Show More...

  • Refine by Type
  • 6 document

  • Refine by Publication Year
  • 3 2010
  • 1 1999
  • 1 2022
  • 1 2023

Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail