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...
Uloženo v:
| Vydáno v: | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] s. 1795 - 1807 |
|---|---|
| Hlavní autoři: | , , |
| 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 |