{"volume":6011,"alternative_title":["LNCS"],"_id":"4395","title":"Verifying local transformations on relaxed memory models","doi":"10.1007/978-3-642-11970-5_7","month":"04","date_updated":"2021-01-12T07:56:39Z","author":[{"last_name":"Burckhardt","full_name":"Burckhardt, Sebastian","first_name":"Sebastian"},{"first_name":"Madanlal","full_name":"Musuvathi, Madanlal","last_name":"Musuvathi"},{"first_name":"Vasu","id":"4DAE2708-F248-11E8-B48F-1D18A9856A87","last_name":"Singh","full_name":"Singh, Vasu"}],"type":"conference","conference":{"end_date":"2010-03-28","start_date":"2010-03-20","name":"CC: Compiler Construction","location":"Pahos, Cyprus"},"citation":{"apa":"Burckhardt, S., Musuvathi, M., & Singh, V. (2010). Verifying local transformations on relaxed memory models. In R. Gupta (Ed.) (Vol. 6011, pp. 104–123). Presented at the CC: Compiler Construction, Pahos, Cyprus: Springer. https://doi.org/10.1007/978-3-642-11970-5_7","chicago":"Burckhardt, Sebastian, Madanlal Musuvathi, and Vasu Singh. “Verifying Local Transformations on Relaxed Memory Models.” edited by Rajiv Gupta, 6011:104–23. Springer, 2010. https://doi.org/10.1007/978-3-642-11970-5_7.","mla":"Burckhardt, Sebastian, et al. Verifying Local Transformations on Relaxed Memory Models. Edited by Rajiv Gupta, vol. 6011, Springer, 2010, pp. 104–23, doi:10.1007/978-3-642-11970-5_7.","ama":"Burckhardt S, Musuvathi M, Singh V. Verifying local transformations on relaxed memory models. In: Gupta R, ed. Vol 6011. Springer; 2010:104-123. doi:10.1007/978-3-642-11970-5_7","ieee":"S. Burckhardt, M. Musuvathi, and V. Singh, “Verifying local transformations on relaxed memory models,” presented at the CC: Compiler Construction, Pahos, Cyprus, 2010, vol. 6011, pp. 104–123.","short":"S. Burckhardt, M. Musuvathi, V. Singh, in:, R. Gupta (Ed.), Springer, 2010, pp. 104–123.","ista":"Burckhardt S, Musuvathi M, Singh V. 2010. Verifying local transformations on relaxed memory models. CC: Compiler Construction, LNCS, vol. 6011, 104–123."},"date_created":"2018-12-11T12:08:38Z","publication_status":"published","day":"21","date_published":"2010-04-21T00:00:00Z","status":"public","extern":"1","editor":[{"last_name":"Gupta","full_name":"Gupta, Rajiv","first_name":"Rajiv"}],"oa_version":"None","page":"104 - 123","user_id":"4435EBFC-F248-11E8-B48F-1D18A9856A87","year":"2010","abstract":[{"text":"The problem of locally transforming or translating programs without altering their semantics is central to the construction of correct compilers. For concurrent shared-memory programs this task is challenging because (1) concurrent threads can observe transformations that would be undetectable in a sequential program, and (2) contemporary multiprocessors commonly use relaxed memory models that complicate the reasoning. In this paper, we present a novel proof methodology for verifying that a local program transformation is sound with respect to a specific hardware memory model, in the sense that it is not observable in any context. The methodology is based on a structural induction and relies on a novel compositional denotational semantics for relaxed memory models that formalizes (1) the behaviors of program fragments as a set of traces, and (2) the effect of memory model relaxations as local trace rewrite operations. To apply this methodology in practice, we implemented a semi- automated tool called Traver and used it to verify/falsify several compiler transformations for a number of different hardware memory models.","lang":"eng"}],"quality_controlled":"1","publisher":"Springer","publist_id":"1063","language":[{"iso":"eng"}],"intvolume":" 6011"}