{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,12]],"date-time":"2026-03-12T01:13:34Z","timestamp":1773278014306,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":74,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,4,4]],"date-time":"2019-04-04T00:00:00Z","timestamp":1554336000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,4,4]]},"DOI":"10.1145\/3297858.3304015","type":"proceedings-article","created":{"date-parts":[[2019,4,4]],"date-time":"2019-04-04T18:38:43Z","timestamp":1554403123000},"page":"411-425","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":63,"title":["PMTest"],"prefix":"10.1145","author":[{"given":"Sihang","family":"Liu","sequence":"first","affiliation":[{"name":"University of Virginia, Charlottesville, VA, USA"}]},{"given":"Yizhou","family":"Wei","sequence":"additional","affiliation":[{"name":"University of Virginia, Charlottesville, VA, USA"}]},{"given":"Jishen","family":"Zhao","sequence":"additional","affiliation":[{"name":"University of California, San Diego, San Diego, CA, USA"}]},{"given":"Aasheesh","family":"Kolli","sequence":"additional","affiliation":[{"name":"Pennsylvania State University &amp; VMware Reserach, University Park, PA, USA"}]},{"given":"Samira","family":"Khan","sequence":"additional","affiliation":[{"name":"University of Virginia, Charlottesville, VA, USA"}]}],"member":"320","published-online":{"date-parts":[[2019,4,4]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3054780"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2749441"},{"key":"e_1_3_2_1_3_1","volume-title":"Armv8-A architecture evolution. https:\/\/community.arm.com\/processors\/b\/blog\/posts\/armv8-a-architecture-evolution","author":"Brash David","year":"2016","unstructured":"David Brash. Armv8-A architecture evolution. https:\/\/community.arm.com\/processors\/b\/blog\/posts\/armv8-a-architecture-evolution, 2016."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660224"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735479.2735483"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815402"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.14778\/2752939.2752947"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522726"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/1209083"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/1614191"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2907294.2907303"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2016.7446055"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178490"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2675113"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208468"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/363235.363259"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064204"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154757"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735502"},{"key":"e_1_3_2_1_24_1","volume-title":"PMFS: Remove unnecessary flushing from pmfs_fsync(). https:\/\/github.com\/linux-pmfs\/pmfs\/commit\/e293e14725aaf36d844bfc4a0cb3d4f99fba1f0b","author":"Intel Corporation","year":"2013","unstructured":"Intel Corporation. PMFS: Remove unnecessary flushing from pmfs_fsync(). https:\/\/github.com\/linux-pmfs\/pmfs\/commit\/e293e14725aaf36d844bfc4a0cb3d4f99fba1f0b, 2013."},{"key":"e_1_3_2_1_25_1","volume-title":"Add missing undo log entry in rbtree example (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/04ec84e23ed40be92bd89b9d34c39fbf28cafe0b#diff-f2692f0bb21a212d07a5d1bc2115c071","author":"Intel Corporation","year":"2015","unstructured":"Intel Corporation. Add missing undo log entry in rbtree example (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/04ec84e23ed40be92bd89b9d34c39fbf28cafe0b#diff-f2692f0bb21a212d07a5d1bc2115c071, 2015."},{"key":"e_1_3_2_1_26_1","volume-title":"PMFS: Remove duplicate flush buffer. https:\/\/github.com\/snalli\/PMFS-new\/commit\/ded1b075eb911c469233433d83cb678ee800367c","author":"Intel Corporation","year":"2015","unstructured":"Intel Corporation. PMFS: Remove duplicate flush buffer. https:\/\/github.com\/snalli\/PMFS-new\/commit\/ded1b075eb911c469233433d83cb678ee800367c, 2015."},{"key":"e_1_3_2_1_27_1","volume-title":"https:\/\/github.com\/snalli\/PMFS-new\/blob\/2c62f0a20f98afe128e59d5e7f0aff40489b27f7\/journal.c","author":"Intel Corporation","year":"2016","unstructured":"Intel Corporation. PMFS. https:\/\/github.com\/snalli\/PMFS-new\/blob\/2c62f0a20f98afe128e59d5e7f0aff40489b27f7\/journal.c, 2016."},{"key":"e_1_3_2_1_28_1","volume-title":"Intel Xeon Silver 4110 Processor. https:\/\/ark.intel.com\/products\/123547\/Intel-Xeon-Silver-4110-Processor-11M-Cache-2_10-GHz","author":"Intel Corporation","year":"2017","unstructured":"Intel Corporation. Intel Xeon Silver 4110 Processor. https:\/\/ark.intel.com\/products\/123547\/Intel-Xeon-Silver-4110-Processor-11M-Cache-2_10-GHz, 2017."},{"key":"e_1_3_2_1_29_1","volume-title":"https:\/\/github.com\/pmem\/pmdk\/blob\/5ac1f5b882275d1eaf6f488a5a71851cb2fdc1ae\/src\/examples\/libpmemobj\/tree_map\/btree_map.c","author":"Intel Corporation","year":"2018","unstructured":"Intel Corporation. B-Tree (PMDK). https:\/\/github.com\/pmem\/pmdk\/blob\/5ac1f5b882275d1eaf6f488a5a71851cb2fdc1ae\/src\/examples\/libpmemobj\/tree_map\/btree_map.c, 2018."},{"key":"e_1_3_2_1_30_1","volume-title":"Btree: remove not needed snapshot (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/b9232407a794040102e769ed98b967d797c173fd#diff-f2692f0bb21a212d07a5d1bc2115c071","author":"Intel Corporation","year":"2018","unstructured":"Intel Corporation. Btree: remove not needed snapshot (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/b9232407a794040102e769ed98b967d797c173fd#diff-f2692f0bb21a212d07a5d1bc2115c071, 2018."},{"key":"e_1_3_2_1_31_1","volume-title":"Btree: snapshot node before modifying it (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/25f5e4f676e3d9cd7a4c9dc7aa8f2f36e83ff6c2#diff-f2692f0bb21a212d07a5d1bc2115c071","author":"Intel Corporation","year":"2018","unstructured":"Intel Corporation. Btree: snapshot node before modifying it (PMDK). https:\/\/github.com\/pmem\/pmdk\/commit\/25f5e4f676e3d9cd7a4c9dc7aa8f2f36e83ff6c2#diff-f2692f0bb21a212d07a5d1bc2115c071, 2018."},{"key":"e_1_3_2_1_32_1","volume-title":"Intel architecture instruction set extensions programming reference (319433-034 may","author":"Intel Corporation","year":"2018","unstructured":"Intel Corporation. Intel architecture instruction set extensions programming reference (319433-034 may 2018). https:\/\/software.intel.com\/sites\/default\/files\/managed\/c5\/15\/architecture-instruction-set-extensions-programming-reference.pdf, 2018."},{"key":"e_1_3_2_1_33_1","volume-title":"Persistent memory programming. https:\/\/pmem.io\/","author":"Intel Corporation","year":"2018","unstructured":"Intel Corporation. Persistent memory programming. https:\/\/pmem.io\/, 2018."},{"key":"e_1_3_2_1_34_1","unstructured":"Intel Corporation. Revolutionary memory technology. http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/non-volatile-memory.html 2018."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872410"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2017.50"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830805"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872381"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/3195638.3195709"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2013.6557176"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129651"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132770"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/2643634.2643678"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591272.2591280"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037714"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00029"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2018.00035"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154601.3154605"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154601.3154607"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037730"},{"key":"e_1_3_2_1_53_1","unstructured":"NIST. The economic impacts of inadequate infrastructure for software testing 2002."},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2018.00037"},{"key":"e_1_3_2_1_55_1","unstructured":"Kevin Oleary. How to detect persistent memory programming errors using Intel Inspector - Persistence Inspector. https:\/\/software.intel.com\/en-us\/articles\/detect-persistent-memory-programming-errors-with-intel-inspector-persistence-inspector 2018."},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043560"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665712"},{"key":"e_1_3_2_1_58_1","volume-title":"Persistent memory. https:\/\/nvdimm.wiki.kernel.org\/","author":"Wiki Persistent Memory","year":"2018","unstructured":"Persistent Memory Wiki. Persistent memory. https:\/\/nvdimm.wiki.kernel.org\/, 2018."},{"key":"e_1_3_2_1_59_1","volume-title":"http:\/\/pmem.io\/2015\/07\/17\/pmemcheck-basic.html","author":"PMDK.","year":"2015","unstructured":"PMDK. An introduction to pmemcheck. http:\/\/pmem.io\/2015\/07\/17\/pmemcheck-basic.html, 2015."},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830802"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026877.3026879"},{"key":"e_1_3_2_1_62_1","volume-title":"https:\/\/github.com\/torvalds\/linux\/blob\/master\/include\/linux\/kfifo.h","author":"Torvalds Linus","year":"2013","unstructured":"Linus Torvalds. https:\/\/github.com\/torvalds\/linux\/blob\/master\/include\/linux\/kfifo.h, 2013."},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592810"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950379"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732960"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063436"},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2015.7056056"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930608"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132761"},{"key":"e_1_3_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750495"},{"key":"e_1_3_2_1_71_1","volume-title":"https:\/\/llvm.org\/devmtg\/2012--11\/Zaks-Rose-Checker24Hours.pdf","author":"Zaks Anna","year":"2012","unstructured":"Anna Zaks and Jordan Rose. https:\/\/llvm.org\/devmtg\/2012--11\/Zaks-Rose-Checker24Hours.pdf, 2012."},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/3167972"},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694370"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540744"}],"event":{"name":"ASPLOS '19: Architectural Support for Programming Languages and Operating Systems","location":"Providence RI USA","acronym":"ASPLOS '19","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3297858.3304015","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3297858.3304015","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:14Z","timestamp":1750204394000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3297858.3304015"}},"subtitle":["A Fast and Flexible Testing Framework for Persistent Memory Programs"],"short-title":[],"issued":{"date-parts":[[2019,4,4]]},"references-count":74,"alternative-id":["10.1145\/3297858.3304015","10.1145\/3297858"],"URL":"https:\/\/doi.org\/10.1145\/3297858.3304015","relation":{},"subject":[],"published":{"date-parts":[[2019,4,4]]},"assertion":[{"value":"2019-04-04","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}