IronFleet: Proving Safety and Liveness of Practical Distributed Systems.

Saved in:
Bibliographic Details
Title: IronFleet: Proving Safety and Liveness of Practical Distributed Systems.
Authors: Hawblitzel, Chris chrishaw@microsoft.com, Howell, Jon jonh@jonh.net, Kapritsos, Manos emkaprit@microsoft.com, Lorch, Jacob R. lorch@microsoft.com, Parno, Bryan parno@microsoft.com, Roberts, Michael L. mirobert@microsoft.com, Setty, Srinath srinath@microsoft.com, Zill, Brian bzill@microsoft.com
Source: Communications of the ACM. Jul2017, Vol. 60 Issue 7, p83-92. 10p. 2 Diagrams, 7 Charts, 2 Graphs.
Subjects: Distributed computing software, Systems software, Computer software, Finite state machines, Technical specifications, Standards, Paxos (Computer science)
Abstract: Distributed systems are notorious for harboring subtle bugs. Verification can, in principle, eliminate these bugs, but it has historically been difficult to apply at full-program scale, much less distributed system scale. We describe a methodology for building practical and provably correct distributed systems based on a unique blend of temporal logic of actions-style state-machine refinement and Hoare-logic verification. We demonstrate the methodology on a complex implementation of a Paxos-based replicated state machine library and a lease-based sharded key-value store. We prove that each obeys a concise safety specification as well as desirable liveness requirements. Each implementation achieves performance competitive with a reference system. With our methodology and lessons learned, we aim to raise the standard for distributed systems from "tested" to "correct". [ABSTRACT FROM AUTHOR]
Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 123967782
AccessLevel: 6
PubType: Periodical
PubTypeId: serialPeriodical
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: IronFleet: Proving Safety and Liveness of Practical Distributed Systems.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Hawblitzel%2C+Chris%22">Hawblitzel, Chris</searchLink><i> chrishaw@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Howell%2C+Jon%22">Howell, Jon</searchLink><i> jonh@jonh.net</i><br /><searchLink fieldCode="AR" term="%22Kapritsos%2C+Manos%22">Kapritsos, Manos</searchLink><i> emkaprit@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Lorch%2C+Jacob+R%2E%22">Lorch, Jacob R.</searchLink><i> lorch@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Parno%2C+Bryan%22">Parno, Bryan</searchLink><i> parno@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Roberts%2C+Michael+L%2E%22">Roberts, Michael L.</searchLink><i> mirobert@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Setty%2C+Srinath%22">Setty, Srinath</searchLink><i> srinath@microsoft.com</i><br /><searchLink fieldCode="AR" term="%22Zill%2C+Brian%22">Zill, Brian</searchLink><i> bzill@microsoft.com</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Communications+of+the+ACM%22">Communications of the ACM</searchLink>. Jul2017, Vol. 60 Issue 7, p83-92. 10p. 2 Diagrams, 7 Charts, 2 Graphs.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Distributed+computing+software%22">Distributed computing software</searchLink><br /><searchLink fieldCode="DE" term="%22Systems+software%22">Systems software</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software%22">Computer software</searchLink><br /><searchLink fieldCode="DE" term="%22Finite+state+machines%22">Finite state machines</searchLink><br /><searchLink fieldCode="DE" term="%22Technical+specifications%22">Technical specifications</searchLink><br /><searchLink fieldCode="DE" term="%22Standards%22">Standards</searchLink><br /><searchLink fieldCode="DE" term="%22Paxos+%28Computer+science%29%22">Paxos (Computer science)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Distributed systems are notorious for harboring subtle bugs. Verification can, in principle, eliminate these bugs, but it has historically been difficult to apply at full-program scale, much less distributed system scale. We describe a methodology for building practical and provably correct distributed systems based on a unique blend of temporal logic of actions-style state-machine refinement and Hoare-logic verification. We demonstrate the methodology on a complex implementation of a Paxos-based replicated state machine library and a lease-based sharded key-value store. We prove that each obeys a concise safety specification as well as desirable liveness requirements. Each implementation achieves performance competitive with a reference system. With our methodology and lessons learned, we aim to raise the standard for distributed systems from "tested" to "correct". [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=123967782
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/3068608
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 10
        StartPage: 83
    Subjects:
      – SubjectFull: Distributed computing software
        Type: general
      – SubjectFull: Systems software
        Type: general
      – SubjectFull: Computer software
        Type: general
      – SubjectFull: Finite state machines
        Type: general
      – SubjectFull: Technical specifications
        Type: general
      – SubjectFull: Standards
        Type: general
      – SubjectFull: Paxos (Computer science)
        Type: general
    Titles:
      – TitleFull: IronFleet: Proving Safety and Liveness of Practical Distributed Systems.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Hawblitzel, Chris
      – PersonEntity:
          Name:
            NameFull: Howell, Jon
      – PersonEntity:
          Name:
            NameFull: Kapritsos, Manos
      – PersonEntity:
          Name:
            NameFull: Lorch, Jacob R.
      – PersonEntity:
          Name:
            NameFull: Parno, Bryan
      – PersonEntity:
          Name:
            NameFull: Roberts, Michael L.
      – PersonEntity:
          Name:
            NameFull: Setty, Srinath
      – PersonEntity:
          Name:
            NameFull: Zill, Brian
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 07
              Text: Jul2017
              Type: published
              Y: 2017
          Identifiers:
            – Type: issn-print
              Value: 00010782
          Numbering:
            – Type: volume
              Value: 60
            – Type: issue
              Value: 7
          Titles:
            – TitleFull: Communications of the ACM
              Type: main
ResultId 1