Show simple item record

dc.contributor.authorGladshtein, Vladimir
dc.contributor.authorZhao, Qiyuan
dc.contributor.authorAhrens, Willow
dc.contributor.authorAmarasinghe, Saman
dc.contributor.authorSergey, Ilya
dc.date.accessioned2024-07-08T18:53:15Z
dc.date.available2024-07-08T18:53:15Z
dc.date.issued2024-06-20
dc.identifier.issn2475-1421
dc.identifier.urihttps://hdl.handle.net/1721.1/155467
dc.description.abstractArrays are a fundamental abstraction to represent collections of data. It is often possible to exploit structural properties of the data stored in an array (e.g., repetition or sparsity) to develop a specialised representation optimised for space efficiency. Formally reasoning about correctness of manipulations with such structured data is challenging, as they are often composed of multiple loops with non-trivial invariants. In this work, we observe that specifications for structured data manipulations can be phrased as hypersafety properties, i.e., predicates that relate traces of k programs. To turn this observation into an effective verification methodology, we developed the Logic for Graceful Tensor Manipulation (LGTM), a new Hoare-style relational separation logic for specifying and verifying computations over structured data. The key enabling idea of LGTM is that of parametrised hypersafety specifications that allow the number k of the program components to depend on the program variables. We implemented LGTM as a foundational embedding into Coq, mechanising its rules, meta-theory, and the proof of soundness. Furthermore, we developed a library of domain-specific tactics that automate computer-aided hypersafety reasoning, resulting in pleasantly short proof scripts that enjoy a high degree of reuse. We argue for the effectiveness of relational reasoning about structured data in LGTM by specifying and mechanically proving correctness of 13 case studies including computations on compressed arrays and efficient operations over multiple kinds of sparse tensors.en_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionof10.1145/3656403en_US
dc.rightsCreative Commons Attribution-ShareAlikeen_US
dc.rights.urihttps://creativecommons.org/licenses/by-sa/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleMechanised Hypersafety Proofs about Structured Dataen_US
dc.typeArticleen_US
dc.identifier.citationGladshtein, Vladimir, Zhao, Qiyuan, Ahrens, Willow, Amarasinghe, Saman and Sergey, Ilya. 2024. "Mechanised Hypersafety Proofs about Structured Data." Proceedings of the ACM on Programming Languages, 8 (PLDI).
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2024-07-01T07:58:38Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2024-07-01T07:58:39Z
mit.journal.volume8en_US
mit.journal.issuePLDIen_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record