Discovering Likely Program Invariants for Persistent Memory

We propose a method for automatically discovering likely program invariants for persistent memory (PM), which is a type of fast and byte-addressable storage device that can retain data after power loss. The invariants, also called PM properties or PM requirements, specify which objects of the progra...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] s. 1795 - 1807
Hlavní autoři: Huang, Zunchen, Ravi, Srivatsan, Wang, Chao
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: ACM 27.10.2024
Témata:
ISSN:2643-1572
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract We propose a method for automatically discovering likely program invariants for persistent memory (PM), which is a type of fast and byte-addressable storage device that can retain data after power loss. The invariants, also called PM properties or PM requirements, specify which objects of the program should be made persistent and in what order. Our method relies on a combination of static and dynamic analysis techniques. Specifically, it relies on static analysis to compute dependence relations between LOAD/STORE instructions and instruments the information into the executable program. Then, it relies on dynamic analysis of the execution traces and counterfactual reasoning to infer PM properties. With precisely computed dependence relations, the inferred properties are necessary conditions for the program to behave correctly through power loss and recovery; with imprecise dependence relations, these are likely program invariants. We have evaluated our method on benchmark programs including eight persistent data structures and two distributed storage applications, Redis and Memcached. The results show that our method can infer PM properties quickly and these properties are of higher quality than those inferred by a state-of-the-art technique. We also demonstrate the usefulness of the inferred properties by leveraging them for PM bug detection, which significantly improves the performance of a state-of-the-art PM bug detection technique.
AbstractList We propose a method for automatically discovering likely program invariants for persistent memory (PM), which is a type of fast and byte-addressable storage device that can retain data after power loss. The invariants, also called PM properties or PM requirements, specify which objects of the program should be made persistent and in what order. Our method relies on a combination of static and dynamic analysis techniques. Specifically, it relies on static analysis to compute dependence relations between LOAD/STORE instructions and instruments the information into the executable program. Then, it relies on dynamic analysis of the execution traces and counterfactual reasoning to infer PM properties. With precisely computed dependence relations, the inferred properties are necessary conditions for the program to behave correctly through power loss and recovery; with imprecise dependence relations, these are likely program invariants. We have evaluated our method on benchmark programs including eight persistent data structures and two distributed storage applications, Redis and Memcached. The results show that our method can infer PM properties quickly and these properties are of higher quality than those inferred by a state-of-the-art technique. We also demonstrate the usefulness of the inferred properties by leveraging them for PM bug detection, which significantly improves the performance of a state-of-the-art PM bug detection technique.
Author Huang, Zunchen
Wang, Chao
Ravi, Srivatsan
Author_xml – sequence: 1
  givenname: Zunchen
  surname: Huang
  fullname: Huang, Zunchen
  organization: University of Southern California,Los Angeles,California,USA
– sequence: 2
  givenname: Srivatsan
  surname: Ravi
  fullname: Ravi, Srivatsan
  organization: University of Southern California,Los Angeles,California,USA
– sequence: 3
  givenname: Chao
  surname: Wang
  fullname: Wang, Chao
  organization: University of Southern California,Los Angeles,California,USA
BookMark eNotjbtOwzAUQA0CiVIyszD4B1J8_Y6YUHlVCqIDzJUdX1cWTYLsqFL_nkgwnTOdc00uhnFAQm6BrQCkuhe6Ac3ZaqZSUp6RqjGNlYwZ4NKac7LgWooalOFXpColeTar0gB6QR6eUunGI-Y07GmbvvFwots87rPr6WY4upzcMBUax0y3mEsqEw4Tfcd-zKcbchndoWD1zyX5enn-XL_V7cfrZv3Y1m7-T3UQruHSdJIB2AhSuBBC5ztAGxyiB25EVKKL1intve-09tw62bCAkWMQS3L3102IuPvJqXf5tANmtGLail_oekt1
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3691620.3695544
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798400712487
EISSN 2643-1572
EndPage 1807
ExternalDocumentID 10765068
Genre orig-research
GrantInformation_xml – fundername: National Science Foundation
  funderid: 10.13039/100000001
GroupedDBID 6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a248t-d3a9247c40118f143adddcbc1e8daeeb1273f53cf8a56bbbc66b28a490def2ed3
IEDL.DBID RIE
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001353105400144&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Jan 15 06:20:43 EST 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a248t-d3a9247c40118f143adddcbc1e8daeeb1273f53cf8a56bbbc66b28a490def2ed3
PageCount 13
ParticipantIDs ieee_primary_10765068
PublicationCentury 2000
PublicationDate 2024-Oct.-27
PublicationDateYYYYMMDD 2024-10-27
PublicationDate_xml – month: 10
  year: 2024
  text: 2024-Oct.-27
  day: 27
PublicationDecade 2020
PublicationTitle IEEE/ACM International Conference on Automated Software Engineering : [proceedings]
PublicationTitleAbbrev ASE
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
SSID ssib057256116
ssj0051577
Score 2.2790685
Snippet We propose a method for automatically discovering likely program invariants for persistent memory (PM), which is a type of fast and byte-addressable storage...
SourceID ieee
SourceType Publisher
StartPage 1795
SubjectTerms Benchmark testing
Codes
Cognition
Computer bugs
counterfactual reasoning
Data structures
dynamic analysis
Instruments
invariant generation
nonvolatile memory
Performance analysis
Software
Software engineering
Static analysis
Title Discovering Likely Program Invariants for Persistent Memory
URI https://ieeexplore.ieee.org/document/10765068
WOSCitedRecordID wos001353105400144&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEF5s8eCpPiq-2YPX1WYz-8KjWhRq6UGht7KvQFFSadNC_72zaap48OApIWQh7Gbn-yb5vhlCro0DsCEDBoUzDGQwTHsemOg5l9nglbB1yfyBGg71eGxGjVm99sLEGGvxWbxJp_W__DDzy_SpDHe4QkIhdYu0lJIbs9b25REKwTtLXGcThhGnlWpq-WQgbnOJRIhjjioNIij8aqZSY0m_88-n2CfdH1ceHX3jzQHZieUh6WzbMtBmlx6Ru4fpwidlJt5FB9P3-LFO45IMiz6XK0yOk_aFIlulSf-e1rms6EuS3K675K3_-Hr_xJoeCcxy0BULucUMSnlIDtICyQ_Gq-Cdz6IONmIgRnpSiNwX2grpnPNSOq4tmF6IBY8hPybtclbGE0KhgFym_AZJBRhpDAjL8WCsDx5Hn5JumozJ56YMxmQ7D2d_XD8nexwZQAr0XF2QdjVfxkuy61fVdDG_qhfvC2H6mso
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NS8NAEF20CnqqHxW_3YPXaLOZ3c3iUS0tpqWHCt7KfgWKkkqbFvrvnU1TxYMHTwkhC2E3O-9N8t4MIbfKAGgXQwS5UREIp6LUMhfxtjGxdlZyXZXMz-RgkL69qWFtVq-8MN77Snzm78Jp9S_fTe0ifCrDHS6RUIh0m-xwANZe27U2rw-XCN9xYDvrQIxILWVdzScGfp8IpEIMs1ShEEPhVzuVCk06zX8-xwFp_fjy6PAbcQ7Jli-OSHPTmIHW-_SYPDxN5jZoM_Eumk3e_ccqjAtCLNorlpgeB_ULRb5KgwI-rHRR0n4Q3a5a5LXzPHrsRnWXhEgzSMvIJRpzKGkheEhzpD8YsZw1Nvap0x5DMRKUnCc2TzUXxhgrhGGpBtV2PmfeJSekUUwLf0oo5JCIkOEgrQAllAKuGR6Uts7i6DPSCpMx_lwXwhhv5uH8j-s3ZK876mfjrDd4uSD7DPlACPtMXpJGOVv4K7Jrl-VkPruuFvILoLGeEQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=Discovering+Likely+Program+Invariants+for+Persistent+Memory&rft.au=Huang%2C+Zunchen&rft.au=Ravi%2C+Srivatsan&rft.au=Wang%2C+Chao&rft.date=2024-10-27&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=1795&rft.epage=1807&rft_id=info:doi/10.1145%2F3691620.3695544&rft.externalDocID=10765068