{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:38Z","timestamp":1772164058594,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":39,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,4,4]],"date-time":"2017-04-04T00:00:00Z","timestamp":1491264000000},"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":[[2017,4,4]]},"DOI":"10.1145\/3037697.3037723","type":"proceedings-article","created":{"date-parts":[[2017,4,5]],"date-time":"2017-04-05T08:47:40Z","timestamp":1491382060000},"page":"661-675","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":39,"title":["Automated Synthesis of Comprehensive Memory Model Litmus Test Suites"],"prefix":"10.1145","author":[{"given":"Daniel","family":"Lustig","sequence":"first","affiliation":[{"name":"NVIDIA, Santa Clara, CA, USA"}]},{"given":"Andrew","family":"Wright","sequence":"additional","affiliation":[{"name":"MIT, Cambridge, MA, USA"}]},{"given":"Alexandros","family":"Papakonstantinou","sequence":"additional","affiliation":[{"name":"NVIDIA, Santa Clara, CA, USA"}]},{"given":"Olivier","family":"Giroux","sequence":"additional","affiliation":[{"name":"NVIDIA, Santa Clara, CA, USA"}]}],"member":"320","published-online":{"date-parts":[[2017,4,4]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Advanced Micro Devices (AMD). AMD64 architecture programmer's manual. Technical report 2016. URL: http:\/\/developer.amd.com\/resources\/developer-guides-manuals.  Advanced Micro Devices (AMD). AMD64 architecture programmer's manual. Technical report 2016. URL: http:\/\/developer.amd.com\/resources\/developer-guides-manuals."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/325164.325100"},{"key":"e_1_3_2_1_3_1","unstructured":"J. Alglave and L. Maranget. Towards a formalization of the HSA memory model in the cat language. Technical report 2016. HSA Foundation Specification Version 1. URL: http:\/\/www.hsafoundation.com\/?ddownload=5381.  J. Alglave and L. Maranget. Towards a formalization of the HSA memory model in the cat language. Technical report 2016. HSA Foundation Specification Version 1. URL: http:\/\/www.hsafoundation.com\/?ddownload=5381."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14295-6_25"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"J. Alglave L. Maranget and M. Tautschnig. Herding cats: Modelling simulation testing and data mining for weak memory. ACM Transanctions on Programming Languages and Systems(TOPLAS) 36(2):7:1--7:74 July 2014. ISSN 0164-0925.  J. Alglave L. Maranget and M. Tautschnig. Herding cats: Modelling simulation testing and data mining for weak memory. ACM Transanctions on Programming Languages and Systems(TOPLAS) 36(2):7:1--7:74 July 2014. ISSN 0164-0925.","DOI":"10.1145\/2627752"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694391"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"crossref","unstructured":"J. Alglave L. Maranget and M. Tautschnig. Herding cats: Modelling simulation testing and data mining for weak memory companion material Power litmus tests. 2015b. URL: http:\/\/diy.inria.fr\/cats\/showlogs\/power-tests.tgz.  J. Alglave L. Maranget and M. Tautschnig. Herding cats: Modelling simulation testing and data mining for weak memory companion material Power litmus tests. 2015b. URL: http:\/\/diy.inria.fr\/cats\/showlogs\/power-tests.tgz.","DOI":"10.1145\/2594291.2594347"},{"key":"e_1_3_2_1_8_1","unstructured":"AMD. Revision guide for AMD family 10h processors. Technical report 2012. Bug 254. URL: http:\/\/support.amd.com\/TechDocs\/41322_10h_Rev_Gd.pdf.  AMD. Revision guide for AMD family 10h processors. Technical report 2012. Bug 254. URL: http:\/\/support.amd.com\/TechDocs\/41322_10h_Rev_Gd.pdf."},{"key":"e_1_3_2_1_9_1","unstructured":"ARM. Cortex-A9 MPCore\u2122 programmer advice notice read-after-read hazards. Technical report 2011. URL: http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.uan0004a\/UAN0004A_a9_read_read.pdf.  ARM. Cortex-A9 MPCore\u2122 programmer advice notice read-after-read hazards. Technical report 2011. URL: http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.uan0004a\/UAN0004A_a9_read_read.pdf."},{"key":"e_1_3_2_1_10_1","unstructured":"ARM Holdings. ARM architecture reference manuals. Technical report 2016. URL: http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.set.architecture.  ARM Holdings. ARM architecture reference manuals. Technical report 2016. URL: http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.set.architecture."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837637"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375591"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2618128.2618134"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028176.1006710"},{"key":"e_1_3_2_1_15_1","unstructured":"Intel. A formal specification of Intel Itanium processor family memory ordering. Technical report 2002. URL: ftp:\/\/download.intel.com\/design\/Itanium\/Downloads\/25142901.pdf.  Intel. A formal specification of Intel Itanium processor family memory ordering. Technical report 2002. URL: ftp:\/\/download.intel.com\/design\/Itanium\/Downloads\/25142901.pdf."},{"key":"e_1_3_2_1_16_1","unstructured":"Intel. Intel Xeon processor E5 v3 product family processor specification update. Technical report 2016a. Bug HSE44. URL: http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/specification-updates\/xeon-e5-v3-spec-update.pdf.  Intel. Intel Xeon processor E5 v3 product family processor specification update. Technical report 2016a. Bug HSE44. URL: http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/specification-updates\/xeon-e5-v3-spec-update.pdf."},{"key":"e_1_3_2_1_17_1","unstructured":"Intel. Intel\u00ae\u00a9 64 and IA-32 architectures software developer manuals.  Intel. Intel\u00ae\u00a9 64 and IA-32 architectures software developer manuals."},{"key":"e_1_3_2_1_18_1","unstructured":"Technical report 2016b. URL: http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/architectures-software-developer-manuals.html.  Technical report 2016b. URL: http:\/\/www.intel.com\/content\/www\/us\/en\/processors\/architectures-software-developer-manuals.html."},{"key":"e_1_3_2_1_19_1","first-page":"2011","article-title":"Information technology -- programming languages -- C","volume":"9899","author":"International Organization for Standardization (ISO)","year":"2011","journal-title":"ISO\/IEC"},{"key":"e_1_3_2_1_20_1","first-page":"2011","article-title":"Information technology -- programming languages -- C++","volume":"14882","author":"International Organization for Standardization (ISO)","year":"2011","journal-title":"ISO\/IEC"},{"key":"e_1_3_2_1_21_1","volume-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)","author":"Jackson D.","year":"2002"},{"key":"e_1_3_2_1_22_1","unstructured":"Khronos Group. The OpenCL specification version 2.1. Technical report 2015. URL: https:\/\/www.khronos.org\/registry\/cl\/specs\/opencl-2.1.pdf.  Khronos Group. The OpenCL specification version 2.1. Technical report 2015. URL: https:\/\/www.khronos.org\/registry\/cl\/specs\/opencl-2.1.pdf."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1979.1675439"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872399"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14295-6_26"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31424-7_36"},{"key":"e_1_3_2_1_27_1","unstructured":"Y. A. Manerkar C. Trippel D. Lustig M. Pellauer and M. Martonosi. Counterexamples and proof loophole for the C\/C++ to POWER and ARMv7 trailing-sync compiler mappings. arXiv 1611.01507v2 Nov 2016.  Y. A. Manerkar C. Trippel D. Lustig M. Pellauer and M. Martonosi. Counterexamples and proof loophole for the C\/C++ to POWER and ARMv7 trailing-sync compiler mappings. arXiv 1611.01507v2 Nov 2016."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1152154.1152177"},{"key":"e_1_3_2_1_29_1","volume-title":"37th International Conference on Software Engineering (ICSE)","author":"Milicevic A.","year":"2015"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03359-9_27"},{"key":"e_1_3_2_1_31_1","unstructured":"Power.org. Power ISA TM version 2.0 Technical report 2013. URL: https:\/\/www.power.org\/wp-content\/uploads\/2013\/05\/PowerISA_V2.07_PUBLIC.pdf.  Power.org. Power ISA TM version 2.0 Technical report 2013. URL: https:\/\/www.power.org\/wp-content\/uploads\/2013\/05\/PowerISA_V2.07_PUBLIC.pdf."},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"crossref","unstructured":"S. Sarkar P. Sewell J. Alglave L. Maranget and D. Williams. Understanding POWER multiprocessors companion material POWER and ARM litmus tests. Technical report 2011a. URL: https:\/\/www.cl.cam.ac.uk\/~pes20\/ppc-supplemental\/test6.pdf.  S. Sarkar P. Sewell J. Alglave L. Maranget and D. Williams. Understanding POWER multiprocessors companion material POWER and ARM litmus tests. Technical report 2011a. URL: https:\/\/www.cl.cam.ac.uk\/~pes20\/ppc-supplemental\/test6.pdf.","DOI":"10.1145\/2345156.1993520"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993520"},{"key":"e_1_3_2_1_34_1","volume-title":"22nd European Conference on Object-Oriented Programming (ECOOP)","author":"\u0160e\u010d\u00edk J.","year":"2008"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908114"},{"key":"e_1_3_2_1_36_1","unstructured":"SPARC International. The SPARC architecture manual version Technical report 1993.  SPARC International. The SPARC architecture manual version Technical report 1993."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-71209-1_49"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676726.2676995"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009838"}],"event":{"name":"ASPLOS '17: Architectural Support for Programming Languages and Operating Systems","location":"Xi'an China","acronym":"ASPLOS '17","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-Second International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3037697.3037723","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3037697.3037723","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:50:27Z","timestamp":1750204227000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3037697.3037723"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,4,4]]},"references-count":39,"alternative-id":["10.1145\/3037697.3037723","10.1145\/3037697"],"URL":"https:\/\/doi.org\/10.1145\/3037697.3037723","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3093337.3037723","asserted-by":"object"},{"id-type":"doi","id":"10.1145\/3093336.3037723","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2017,4,4]]},"assertion":[{"value":"2017-04-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}