{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,24]],"date-time":"2026-09-24T23:43:37Z","timestamp":1790293417944,"version":"4.1.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2018,11,16]],"date-time":"2018-11-16T00:00:00Z","timestamp":1542326400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"ANR","award":["ANR-15-CE25-0007-01"],"award-info":[{"award-number":["ANR-15-CE25-0007-01"]}]},{"name":"CNPQ","award":["PDE-202896\/2017-0"],"award-info":[{"award-number":["PDE-202896\/2017-0"]}]},{"name":"MSc scholarship from CAPES"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2018,12,31]]},"abstract":"<jats:p>A store operation is called \u201csilent\u201d if it writes in memory a value that is already there. The ability to detect silent stores is important, because they might indicate performance bugs, might enable code optimizations, and might reveal opportunities of automatic parallelization, for instance. Silent stores are traditionally detected via profiling tools. In this article, we depart from this methodology and instead explore the following question: is it possible to predict silentness by analyzing the syntax of programs? The process of building an answer to this question is interesting in itself, given the stochastic nature of silent stores, which depend on data and coding style. To build such an answer, we have developed a methodology to classify store operations in terms of syntactic features of programs. Based on such features, we develop different kinds of predictors, some of which go much beyond what any trivial approach could achieve. To illustrate how static prediction can be employed in practice, we use it to optimize programs running on nonvolatile memory systems.<\/jats:p>","DOI":"10.1145\/3280848","type":"journal-article","created":{"date-parts":[[2018,11,16]],"date-time":"2018-11-16T13:08:54Z","timestamp":1542373734000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Static Prediction of Silent Stores"],"prefix":"10.1145","volume":"15","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0375-1657","authenticated-orcid":false,"given":"Fernando Magno Quint\u00e3o","family":"Pereira","sequence":"first","affiliation":[{"name":"UFMG, Brazil 8 CNRS - LIRMM, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Guilherme Vieira","family":"Leobas","sequence":"additional","affiliation":[{"name":"UFMG, Brazil"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Abdoulaye","family":"Gamati\u00e9","sequence":"additional","affiliation":[{"name":"CNRS - LIRMM, France"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2018,11,16]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Fast algorithms for mining association rules in large databases","author":"Agrawal Rakesh","unstructured":"Rakesh Agrawal and Ramakrishnan Srikant . 1994. Fast algorithms for mining association rules in large databases . In VLDB. Morgan Kaufmann Publishers , San Francisco , 487--499. Rakesh Agrawal and Ramakrishnan Srikant. 1994. Fast algorithms for mining association rules in large databases. In VLDB. Morgan Kaufmann Publishers, San Francisco, 487--499."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155119"},{"key":"e_1_2_1_3_1","volume-title":"Lipasti","author":"Bell Gordon B.","year":"2000","unstructured":"Gordon B. Bell , Kevin M. Lepak , and Mikko H . Lipasti . 2000 . Characterization of silent stores. In PACT. IEEE , 133. Gordon B. Bell, Kevin M. Lepak, and Mikko H. Lipasti. 2000. Characterization of silent stores. In PACT. IEEE, 133."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180665.3180666"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605419"},{"key":"e_1_2_1_6_1","first-page":"536","article-title":"M\u00e9thode G\u00e9n\u00e9rale pour la r\u00e9solution des syst\u00e8mes d\u2019\u00c9quations simultan\u00e9es","volume":"25","author":"Cauchy Augustin Louis","year":"1847","unstructured":"Augustin Louis Cauchy . 1847 . M\u00e9thode G\u00e9n\u00e9rale pour la r\u00e9solution des syst\u00e8mes d\u2019\u00c9quations simultan\u00e9es . Comptes Rendus Hebd. S\u00e9ances Acad. Sci. 25 , 10 (1847), 536 -- 538 . Augustin Louis Cauchy. 1847. M\u00e9thode G\u00e9n\u00e9rale pour la r\u00e9solution des syst\u00e8mes d\u2019\u00c9quations simultan\u00e9es. Comptes Rendus Hebd. S\u00e9ances Acad. Sci. 25, 10 (1847), 536--538.","journal-title":"Comptes Rendus Hebd. S\u00e9ances Acad. Sci."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178499"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.2517-6161.1958.tb00292.x"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1214\/aoms\/1177698950"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542275.1542288"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/355598.362775"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3123939.3123945"},{"key":"e_1_2_1_15_1","volume-title":"LLVM: A compilation framework for lifelong program analysis 8 transformation","author":"Lattner Chris","year":"2004","unstructured":"Chris Lattner and Vikram Adve . 2004 . LLVM: A compilation framework for lifelong program analysis 8 transformation . In CGO. IEEE , 75--85. Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis 8 transformation. In CGO. IEEE, 75--85."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3264637.3264641"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/339647.339678"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/360128.360133"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605401"},{"key":"e_1_2_1_20_1","volume-title":"Lipasti and John Paul Shen","author":"Mikko","year":"1996","unstructured":"Mikko H. Lipasti and John Paul Shen . 1996 . Exceeding the dataflow limit via value prediction. In MICRO. IEEE , 226--237. Mikko H. Lipasti and John Paul Shen. 1996. Exceeding the dataflow limit via value prediction. In MICRO. IEEE, 226--237."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/237090.237173"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2442980"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2013.6494996"},{"key":"e_1_2_1_25_1","volume-title":"Goodman","author":"Rajwar Ravi","year":"2001","unstructured":"Ravi Rajwar and James R . Goodman . 2001 . Speculative lock elision: Enabling highly concurrent multithreaded execution. In MICRO. IEEE , 294--305. Ravi Rajwar and James R. Goodman. 2001. Speculative lock elision: Enabling highly concurrent multithreaded execution. In MICRO. IEEE, 294--305."},{"key":"e_1_2_1_26_1","volume-title":"A Mathematical Theory of Evidence","author":"Shafer Glenn","unstructured":"Glenn Shafer . 1976. A Mathematical Theory of Evidence . Princeton University Press , Princeton, NJ . Glenn Shafer. 1976. A Mathematical Theory of Evidence. Princeton University Press, Princeton, NJ."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2005.10"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.26"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037729"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173162.3177159"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/192724.192725"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1687399.1687448"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3280848","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3280848","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:01:51Z","timestamp":1750208511000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3280848"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,11,16]]},"references-count":32,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,12,31]]}},"alternative-id":["10.1145\/3280848"],"URL":"https:\/\/doi.org\/10.1145\/3280848","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,11,16]]},"assertion":[{"value":"2018-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-11-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}