Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1924520.1924524acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Modular verification of linked lists with views via separation logic

Published: 22 June 2010 Publication History

Abstract

We present a separation logic specification and verification of linked lists with views, a data structure from the C5 collection library for C#. A view is a generalization of the well-known concept of an iterator. Linked lists with views form an interesting case study for verification since they allow mutation of multiple possibly-overlapping views of the same underlying list. For modularity, we present our specification in a fragment of higher-order separation logic and use abstract predicates to give a specification with respect to which clients can be proved correct. We introduce a novel mathematical model of lists with views, and formulate succinct modular abstract specifications of the operations on the data structure. To show that the concrete implementation realizes the specification, we use fractional permissions in a novel way to capture the sharing of data between views and their underlying list.
We conclude by suggesting directions for future research that arose from conducting this case study.

References

[1]
A. Banerjee, D. Naumann, and S. Rosenberg. Regional logic for local reasoning about global invariants. In Proceedings of ECOOP, 2008.
[2]
B. Biering, L. Birkedal, and N. Torp-Smith. BI hyperdoctrines and higher-order separation logic. In Proceedings of ESOP, 2005.
[3]
R. Bornat, C. Calcagno, P. O'Hearn, and M. Parkinson. Permission accounting in separation logic. In Proceedings of POPL, 2005.
[4]
J. Boyland, W. Retert, and Y. Zhao. Iterators can be independent "from" their collections. In Proceedings of ECOOP, 2007.
[5]
C. Calcagno, M. J. Parkinson, and V. Vafeiadis. Modular safety checking for fine-grained concurrency. In Proceedings of SAS, 2007.
[6]
T. Dinsdale-Young, M. Dodds, P. Gardner, M. J. Parkinson, and V. Vafeiadis. Concurrent abstract predicates. In Proceedings of ECOOP, 2010.
[7]
C. Haack and C. Hurlin. Resource usage protocols for iterators. In Proceedings of IWACO, 2008.
[8]
J. B. Jensen. Specification and validation of data structures using separation logic. Master's thesis, Technical University of Denmark, February 2010.
[9]
N. Kokholm and P. Sestoft. The C5 generic collection library for C# and CLI. Technical Report ITU-TR-2006-76, IT University of Copenhagen, 2006.
[10]
N. R. Krishnaswami, J. Aldrich, L. Birkedal, K. Svendsen, and A. Buisse. Design patterns in separation logic. In Proceedings of TLDI, 2009.
[11]
M. Parkinson. Local Reasoning for Java. PhD thesis, University of Cambridge, 2005.
[12]
M. Parkinson and G. Bierman. Separation logic and abstraction. In Proceedings of POPL, 2005.
[13]
J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In Proceedings of LICS, 2002.
[14]
K. Svendsen, L. Birkedal, and M. Parkinson. Verifying generics and delegates. In Proceedings of ECOOP, 2010.

Cited By

View all
  • (2023)Verification of mutable linear data structures and iterator-based algorithms in DafnyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2023.100875134(100875)Online publication date: Aug-2023
  • (2022)Fractional resources in unbounded separation logicProceedings of the ACM on Programming Languages10.1145/35633266:OOPSLA2(1066-1092)Online publication date: 31-Oct-2022
  • (2011)Verifying object-oriented programs with higher-order separation logic in CoqProceedings of the Second international conference on Interactive theorem proving10.5555/2033939.2033946(22-38)Online publication date: 22-Aug-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
FTFJP '10: Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
June 2010
66 pages
ISBN:9781450305402
DOI:10.1145/1924520
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

  • CEKTRA
  • University of Maribor
  • AITO: Assoc Internationale por les Technologies Objects

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. formal verification
  2. modularity
  3. separation logic

Qualifiers

  • Research-article

Conference

ECOOP '10
Sponsor:
  • AITO

Acceptance Rates

Overall Acceptance Rate 51 of 75 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Verification of mutable linear data structures and iterator-based algorithms in DafnyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2023.100875134(100875)Online publication date: Aug-2023
  • (2022)Fractional resources in unbounded separation logicProceedings of the ACM on Programming Languages10.1145/35633266:OOPSLA2(1066-1092)Online publication date: 31-Oct-2022
  • (2011)Verifying object-oriented programs with higher-order separation logic in CoqProceedings of the Second international conference on Interactive theorem proving10.5555/2033939.2033946(22-38)Online publication date: 22-Aug-2011
  • (2011)KopitiamProceedings of the Third international conference on NASA Formal methods10.5555/1986308.1986354(518-524)Online publication date: 18-Apr-2011
  • (2011)Kopitiam: Modular Incremental Interactive Full Functional Static Verification of Java CodeNASA Formal Methods10.1007/978-3-642-20398-5_42(518-524)Online publication date: 2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media