S. V. Adve and J. K. Aggarwal, A unified formalization of four shared-memory models, IEEE Transactions on Parallel and Distributed Systems, vol.4, issue.6
DOI : 10.1109/71.242161

P. E. Albert, S. Arenas, G. Genaim, D. Puebla, and . Zanardini, Cost Analysis of Java Bytecode, Proc. of the 16th European conference on Programming, ESOP'07, 2007.
DOI : 10.1007/978-3-540-71316-6_12

P. E. Albert, S. Arenas, G. Genaim, D. Puebla, and . Zanardini, Cost analysis of object-oriented bytecode programs, Theoretical Computer Science, vol.413, issue.1, 2012.
DOI : 10.1016/j.tcs.2011.07.009

P. [. Albert, S. Arenas, G. Genaim, and . Puebla, Cost Relation Systems: A Language-Independent Target Language for Cost Analysis, Electronic Notes in Theoretical Computer Science, vol.248, 2009.
DOI : 10.1016/j.entcs.2009.07.057

H. [. Adve and . Boehm, Memory Models: a Case for Rethinking Parallel Languages and Hardware, Commun. ACM, issue.8, p.53, 2010.

K. [. Adve and . Gharachorloo, Shared memory consistency models: a tutorial, Computer, vol.29, issue.12, 1996.
DOI : 10.1109/2.546611

M. [. Adve and . Hill, Weak ordering -A New Definition, SIGARCH Comput. Archit. News, issue.3a, p.18, 1990.
DOI : 10.1109/isca.1990.134502

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.140.3084

D. N. Adams, R. Kranz, J. Kelsey, P. Rees, J. Hudak et al., ORBIT: An Optimizing Compiler for Scheme, Proc. of the 1986 SIGPLAN symposium on Compiler construction, SIGPLAN '86, 1986.

L. [. Abadi and . Lamport, The Existence of Refinement Mappings, Theor. Comput. Sci, vol.82, issue.2, 1991.

L. [. Alglave and . Maranget, Stability in Weak Memory Models, Proc. of the 23rd international conference on Computer aided verification, 2011.
DOI : 10.1007/978-3-540-30482-1_11

URL : https://hal.archives-ouvertes.fr/hal-01100806

J. Alglave, L. Maranget, S. Sarkar, and P. Sewell, Fences in Weak Memory Models, Proc. of the 22nd international conference on Computer Aided Verification, CAV'10, 2010.
DOI : 10.1007/978-3-642-14295-6_25

URL : https://hal.archives-ouvertes.fr/hal-01100859

]. A. App92 and . Appel, Compiling with Continuations, 1992.

]. A. App98a and . Appel, Modern Compiler Implementation in ML, 1998.

]. A. App11 and . Appel, VeriSmall: verified smallfoot shape analysis, Proc. of the First international conference on Certified Programs and Proofs, 2011.

]. D. A?07a, J. Aspinall, and . ?ev?ík, Formalising Java's Data Race Free Guarantee, Proc. of the 20th international conference on Theorem proving in higher order logics, TPHOLs'07, 2007.

]. D. A?07b, J. Aspinall, and . ?ev?ík, Java Memory Model Examples: Good, Bad and Ugly, Proc. of VAMP, 2007.

M. [. Alpern, F. K. Wegman, and . Zadeck, Detecting equality of variables in programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '88, 1988.
DOI : 10.1145/73560.73561

[. Boehm and S. V. Adve, You don't know jack about shared variables or memory models, Communications of the ACM, vol.55, issue.2, 2012.
DOI : 10.1145/2076450.2076465

D. Bacon, J. Bloch, J. Bogda, C. Click, D. Haahr et al., Sirer. The "Double-Checked Locking is Broken" Declaration, 2004.

]. B. Bcc-+-03, P. Blanchet, R. Cousot, J. Cousot, L. Feret et al., A Static Analyzer for Large Safety-Critical Software, Proc. of PLDI'03, 2003.

M. Barnett, B. E. Chang, R. Deline, B. Jacobs, and K. R. Leino, Boogie: A Modular Reusable Verifier for Object-Oriented Programs, Proc. of the 4th international conference on Formal Methods for Components and Objects, FMCO'05, 2006.
DOI : 10.1007/11804192_17

P. [. Barthe, G. Courtieu, S. Dufay, and . Sousa, Tool-Assisted Specification and Verification of the JavaCard Platform, Proc. of the 9th International Conference on Algebraic Methodology and Software Technology, AMAST '02, 2002.
DOI : 10.1007/3-540-45719-4_4

M. G. Bcf-+-99-], J. Burke, S. Choi, D. Fink, M. Grove et al., The Jalapeño Dynamic Optimizing Compiler for Java, Proc. of JAVA '99, 1999.

. Bcg-+-07-]-g, P. Barthe, B. Crégut, T. Grégoire, D. Jensen et al., The MOBIUS Proof Carrying Code Infrastructure, Proc. of the 6th International Symposium on Formal Methods for Components and Objects (FMCO'07), volume 5382 of Lecture Notes in Computer Science, 2007.

K. [. Briggs, T. J. Cooper, L. T. Harvey, P. Simpson, K. D. Briggs et al., Practical improvements to the construction and destruction of static single assignment form, Software: Practice and Experience, vol.28, issue.8, 1997.
DOI : 10.1002/(SICI)1097-024X(19980710)28:8<859::AID-SPE188>3.0.CO;2-8

D. [. Barthe, P. Demange, and . Pichardie, A Formally Verified SSA-Based Middle-End -Static Single Assignment Meets CompCert, ESOP, 2012.
URL : https://hal.archives-ouvertes.fr/hal-01110783

. Bdr-+-09-]-b, A. Boissinot, F. Darte, B. Rastello, C. Dupont-de-dinechin et al., Revisiting Out-of-SSA Translation for Correctness, Code Quality and Efficiency, Proc. of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO '09, 2009.

]. N. Ben04 and . Benton, Simple Relational Correctness Proofs for Static Analyses and Program Transformations, Proc. of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 2004.

C. Barrett, Y. Fang, B. Goldberg, Y. Hu, A. Pnueli et al., TVOC: A Translation Validator for Optimizing Compilers, Proc. of the 17th international conference on Computer Aided Verification, CAV'05, 2005.
DOI : 10.1007/11513988_29

B. [. Bertot, X. Grégoire, and . Leroy, A Structured Approach to Proving Compiler Optimizations Based on Dataflow Analysis, Proceedings of the 2004 international conference on Types for Proofs and Programs, TYPES'04, 2006.
DOI : 10.1007/11617990_5

URL : https://hal.archives-ouvertes.fr/inria-00289549

S. [. Blech, J. Glesner, S. Leitner, and . Mülling, Optimizing Code Generation from SSA Form: A Comparison Between Two Formal Correctness Proofs in Isabelle/HOL, COCV'05, 2005.
DOI : 10.1016/j.entcs.2005.02.042

C. [. Benton, . Hur, and . Biorthogonality, Step-indexing and Compiler Correctness, Proc. of the 14th ACM SIGPLAN international conference on Functional programming, ICFP '09, 2009.
DOI : 10.1145/1596550.1596567

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.146.2953

. Bhg-+-08-]-b, S. Boissinot, D. Hack, B. Grund, F. Dupont-de-dinechin et al., Fast Liveness Checking for SSA form Programs, Proc. of the 6th annual IEEE/ACM international symposium on Code generation and optimization, CGO '08, 2008.

T. [. Besson, D. Jensen, and . Pichardie, Proof-carrying code from certified abstract interpretation and fixpoint compression, Theoretical Computer Science, vol.364, issue.3, 2006.
DOI : 10.1016/j.tcs.2006.08.012

URL : http://doi.org/10.1016/j.tcs.2006.08.012

G. Barthe, C. Kunz, D. Pichardie, and J. Samborski-forlese, Preservation of Proof Obligations for Hybrid Verification Methods, Proc. of SEFM, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00332718

K. [. Barnett and . Leino, Weakest-precondition of Unstructured Programs, Proc. of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, PASTE '05, 2005.

X. [. Blazy and . Leroy, Mechanized Semantics for the Clight Subset of the C Language, Journal of Automated Reasoning, vol.29, issue.6, 2009.
DOI : 10.1007/s10817-009-9148-3

URL : https://hal.archives-ouvertes.fr/inria-00352524

]. J. Blo08 and . Bloch, Effective Java (2nd Edition) (The Java Series), 2008.

H. [. Brandis and . Mössenböck, Single-pass generation of static single-assignment form for structured languages, ACM Transactions on Programming Languages and Systems, vol.16, issue.6, 1994.
DOI : 10.1145/197320.197331

. Bmo-+-12-]-m, K. Batty, S. Memarian, S. Owens, P. Sarkar et al., Clarifying and Compiling C/C++ Concurrency: from C++11 to POWER, SIGPLAN Not, vol.47, issue.1, p.168, 2012.

. [. Bibliography, M. Burckhardt, V. Musuvathi, and . Singh, Verifying Local Transformations on Relaxed Memory Models, Proc. of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction, 2010.

D. [. Banerjee and . Naumann, Stack-based access control and secure information flow, Journal of Functional Programming, vol.15, issue.2, 2005.
DOI : 10.1017/S0956796804005453

]. Boe05 and . Boehm, Threads Cannot Be Implemented as a Library, Proc. of the 2005 ACM SIGPLAN conference on Programming language design and implementation, PLDI '05, 2005.

]. F. Bou93 and . Bourdoncle, Efficient Chaotic Iteration Strategies With Widenings, Proc. of the International Conference on Formal Methods in Programming and their Applications, 1993.

G. [. Boudol and . Petri, Relaxed Memory Models: An Operational Approach, Proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '09, 2009.
DOI : 10.1145/1480881.1480930

URL : https://hal.archives-ouvertes.fr/inria-00420352

G. [. Boudol and . Petri, A Theory of Speculative Computation, Proc. of the 19th European conference on Programming Languages and Systems, 2010.
DOI : 10.1007/978-3-642-11957-6_10

. Bpr-+-02-]-p, A. Baudin, J. Pacalet, D. Raguideau, N. Schoen et al., CAVEAT: a Tool for Software Validation, DSN. IEEE Computer Society, 2002.

D. [. Barthe, T. Pichardie, and . Rezk, A Certified Lightweight Non-interference Java Bytecode Verifier, Proc. of the 16th European conference on Programming, ESOP'07, 2007.
DOI : 10.1007/978-3-540-71316-6_10

URL : https://hal.archives-ouvertes.fr/hal-00915189

T. [. Barthe and . Rezk, Non-interference for a JVM-like language, Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation , TLDI '05, 2005.
DOI : 10.1145/1040294.1040304

]. P. Bri06 and . Brisk, Advances in Static Single Assignment Form and Register Allocation, 2006.

P. [. Bacon and . Sweeney, Fast Static Analysis of C++ Virtual Function Calls, Proc. of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA '96, 1996.

U. [. Benton and . Zarfaty, Formalizing and verifying semantic type soundness of a simple compiler, Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming, PPDP '07, 2007.
DOI : 10.1145/1273920.1273922

R. [. Cousot and . Cousot, Abstract interpretation, Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '77, 1977.
DOI : 10.1145/512950.512973

URL : https://hal.archives-ouvertes.fr/inria-00528590

S. F. Chow, R. Chan, S. Kennedy, R. Liu, P. Lo et al., A New Algorithm for Partial Redundancy Elimination Based on SSA Form, Proc. of the ACM SIGPLAN 1997 conference on Programming language design and implementation, PLDI '97, 1997.

R. T. Cramer, T. Friedman, D. Miller, R. Seberger, M. Wilson et al., Compiling Java just in time, IEEE Micro, vol.17, issue.3, 1997.
DOI : 10.1109/40.591653

. Cfr-+-91-]-r, J. Cytron, B. K. Ferrante, M. N. Rosen, F. K. Wegman et al., Efficiently Computing Static Single Assignment Form and the Control Dependence Graph, 1991.

]. A. Chl10 and . Chlipala, A Verified Compiler for an Impure Functional Language, Proc. of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 2010.

A. [. Cenciarelli, E. Knapp, and . Sibilio, The Java Memory Model: Operationally, Denotationally, Axiomatically, Proc. of the 16th European conference on Programming, ESOP'07, 2007.
DOI : 10.1007/978-3-540-71316-6_23

]. C. Cli95a and . Click, Combining Analyses, Combining Optimizations, 1995.

]. C. Cli95b and . Click, Global Code Motion/Global Value Numbering, Proc. of the ACM SIGPLAN 1995 conference on Programming language design and implementation, PLDI '95, 1995.

]. P. Cou99 and . Cousot, The Calculational Design of a Generic Abstract Interpreter, Calculational System Design. NATO ASI Series F. IOS Press, 1999.

]. M. Dav03 and . Dave, Compiler Verification: A Bibliography, SIGSOFT Softw. Eng. Notes, vol.28, issue.6, 2003.

]. E. Dij76 and . Dijkstra, A Discipline of Programming, 1976.

T. [. Demange, D. Jensen, and . Pichardie, A Provably Correct Stackless Intermediate Representation for Java Bytecode, Research Report, vol.7021, 2009.
DOI : 10.1007/978-3-642-17164-2_8

URL : https://hal.archives-ouvertes.fr/inria-00414099

T. [. Demange, D. Jensen, and . Pichardie, A Provably Correct Stackless Intermediate Representation for Java Bytecode, APLAS, 2010.
DOI : 10.1007/978-3-642-17164-2_8

URL : https://hal.archives-ouvertes.fr/inria-00414099

K. [. Deline and . Leino, BoogiePL: A Typed Procedural Language for Checking Object-Oriented Programs, 2005.

X. [. Dargaye and . Leroy, Mechanized Verification of CPS Transformations, Proc. of the 14th international conference on Logic for programming, artificial intelligence and reasoning, LPAR'07, 2007.
DOI : 10.1007/978-3-540-75560-9_17

URL : https://hal.archives-ouvertes.fr/inria-00289541

V. Dlz-+-13-]-d-demange, L. Laporte, D. Zhao, S. Pichardie, J. Jagannathan et al., Plan B: A Buffered Memory Model for Java, Proc. of the 40th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '13, 2013.

L. [. Danvy and . Nielsen, A First-order One-pass CPS Transformation, Theor. Comput . Sci, vol.308, issue.1, 2003.

D. [. Dabrowski and . Pichardie, A Certified Data Race Analysis for a Java-like Language
DOI : 10.1145/1146809.1146811

URL : https://hal.archives-ouvertes.fr/hal-00465547

. [. Bibliography, S. Elmas, S. Qadeer, and . Tasiran, Goldilocks: a Race and Transaction-Aware Java Runtime, Proc. of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07, 2007.

G. [. Ellison and . Ro?u, An Executable Formal Semantics of C with Applications, Proc. of the 39th Symposium on Principles of Programming Languages (POPL'12, 2012.

]. F. Fag05 and . Fagerholm, Perl 6 and the Parrot Virtual Machine, 2005.

]. P. Fea91 and . Feautrier, Dataflow Analysis of Array and Scalar References, International Journal of Parallel Programming, vol.20, issue.1, 1991.

[. Flanagan and S. N. Freund, FastTrack: Efficient and Precise Dynamic Race Detection

]. S. Fin and . T. Fink, Watson Library for Analysis (Wala)

]. R. Fkr-+-00, T. B. Fitzgerald, E. Knoblock, B. Ruf, D. Steensgaard et al., Marmot: An Optimizing Compiler for Java, Softw. Pract. Exper, vol.30, issue.3, 2000.

J. [. Freund and . Mitchell, A Type System for Object Initialization in the Java Bytecode Language, ACM TOPLAS, vol.21, issue.6, 1999.

J. [. Flanagan and . Saxe, Avoiding Exponential Explosion: Generating Compact Verification Conditions, Proc. of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '01, 2001.

A. [. Flanagan, B. F. Sabry, M. Duba, and . Felleisen, The Essence of Compiling with Continuations, Proc. of the ACM SIGPLAN 1993 conference on Programming language design and implementation, PLDI '93, 1993.

A. [. Flanagan, B. F. Sabry, M. Duba, and . Felleisen, The Essence of Compiling with Continuations (with retrospective), Best of PLDI -20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 1979.

L. [. Gagnon, G. Hendren, and . Marceau, Efficient Inference of Static Types for Java Bytecode, Proc. of SAS'00, 2000.
DOI : 10.1007/978-3-540-45099-3_11

B. [. Gosling, G. L. Joy, and . Steele, The Java Language Specification, 1996.

B. [. Gosling, G. L. Joy, G. Steele, and . Bracha, The Java(TM) Language Specification, 2005.

]. S. Gle04 and . Glesner, An ASM Semantics for SSA Intermediate Representations, Abstract State Machines, 2004.

]. B. Gpb-+-06, T. Goetz, J. Peierls, J. Bloch, D. Bowbeer et al., Java Concurrency in Practice, 2006.

A. Goldberg and D. Robson, Smalltalk-80: the language and its implementation, 1983.

W. [. Goos and . Zimmermann, Verification of Compilers, Correct System Design, 1999.
DOI : 10.1007/3-540-48092-7_10

A. [. Hobor, F. Z. Appel, and . Nardelli, Oracle Semantics for Concurrent Separation Logic, Proc. of the Theory and practice of software, 17th European conference on Programming languages and systems, ESOP'08/ETAPS'08, 2008.
DOI : 10.1007/978-3-540-78739-6_27

]. L. Hbb-+-11, N. Hubert, F. Barré, D. Besson, T. Demange et al., Sawja: Static Analysis Workshop for Java, Proc. of the 2010 international conference on Formal verification of object-oriented software, FoVeOOS'10, 2011.

D. [. Hack, G. Grund, and . Goos, Register Allocation for Programs in SSA-Form, CC, LNCS, 2006.
DOI : 10.1007/11688839_20

T. [. Hubert, V. Jensen, D. Monfort, and . Pichardie, Enforcing Secure Object Initialization in Java, Proc. of the 15th European Symposium on Research in Computer Security, 2010.
DOI : 10.1007/978-3-642-15497-3_7

URL : https://hal.archives-ouvertes.fr/inria-00503953

J. [. Higham, N. Kawash, and . Verwaaland, Defining and Comparing Memory Consistency Models, Proc. of PDCS, 1997.

]. G. Hop52 and . Hopper, The Education of a Computer, Proc. of the 1952 ACM national meeting, 1952.

G. [. Huisman and . Petri, The Java Memory Model: a Formal Explanation, Proc. of VAMP, 2007.

D. [. Hennessy and . Patterson, Computer Architecture, Fifth Edition: a Quantitative Approach, Hub08] L. Hubert. A Non-Null Annotation Inferencer for Java Bytecode Proc. of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, PASTE '08, 2008.

]. L. Hub10 and . Hubert, Foundations and Implementation of a Tool Bench for Static Analysis of Java Bytecode Programs, 2010.

F. [. Jensen, D. Kirchner, and . Pichardie, Secure the Clones, Proc. of 20th European Symposium on Programming Proc. of the 21st International Conference on Computer Aided Verification, CAV '09, 2009.
DOI : 10.1006/inco.1996.2613

URL : https://hal.archives-ouvertes.fr/hal-00762377

[. Bibliography, F. Jourdan, X. Pottier, and . Leroy, Validating LR(1) Parsers, Programming Languages and Systems ? 21st European Symposium on Programming, ESOP 2012, 2012.

C. [. Jagadeesan, J. Pitcher, and . Riely, Generative Operational Semantics for Relaxed Memory Models, Proc. of the 19th European conference on Programming Languages and Systems, ESOP'10, 2010.
DOI : 10.1007/978-3-642-11957-6_17

]. R. Kel95 and . Kelsey, A Correspondence between Continuation Passing Style and Static Single Assignment Form, Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations, IR '95, 1995.

]. A. Ken07 and . Kennedy, Compiling with Continuations, Continued, Proc. of the 12th ACM SIGPLAN international conference on Functional programming, ICFP '07, 2007.

]. G. Kil73, A Unified Approach to Global Program Optimization, Proc. of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages, POPL '73, 1973.

A. [. Kawachiya, T. Koseki, and . Onodera, Lock Reservation: Java Locks Can Mostly Do without Atomic Operations, Proc. of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA '02, 2002.

D. [. Knoop, B. Koschützki, and . Steffen, Basic-block graphs: Living dinosaurs?, Proc. of the 7th International Conference on Compiler Construction, CC '98, 1998.
DOI : 10.1007/BFb0026423

T. [. Klein and . Nipkow, A machine-checked model for a Java-like language, virtual machine, and compiler, ACM Transactions on Programming Languages and Systems, vol.28, issue.4, 2006.
DOI : 10.1145/1146809.1146811

O. [. Knoop and . Rüthing, Constant Propagation on the Value Graph: Simple Constants and Beyond, Proc. of the 9th International Conference on Compiler Construction, CC '00, 2000.
DOI : 10.1007/3-540-46423-9_7

]. L. Lam78 and . Lamport, Time, Clocks, and the Ordering of Events in a Distributed System, Commun. ACM, vol.21, issue.7, 1978.

]. L. Lam79 and . Lamport, How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs, IEEE Trans. Comput, vol.28, issue.9, 1979.

X. Leroy and S. Blazy, Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations, Journal of Automated Reasoning, vol.17, issue.5???6, 2008.
DOI : 10.1007/s10817-008-9099-0

URL : https://hal.archives-ouvertes.fr/inria-00289542

]. K. Lei05 and . Leino, Efficient Weakest Preconditions, Inf. Process. Lett, vol.93, issue.6, 2005.

]. K. Lei10 and . Leino, Dafny: An Automatic Program Verifier for Functional Correctness, Proc. of the 16th international conference on Logic for programming, artificial intelligence , and reasoning, LPAR'10, 2010.

]. X. Ler09 and . Leroy, A Formally Verified Compiler Back-end, The CompCert C Verified Compiler ? Documentation and User's Manual (Version 1.10), 2009.

M. [. Logozzo, ]. S. Fähndrichlgc02, D. Lerner, C. Grove, and . Chambers, On the Relative Completeness of Bytecode Analysis Versus Source Code Analysis Composing Dataflow Analyses and Transformations, CC Proc. of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '02, 2002.

L. [. Lhoták and . Hendren, Scaling Java Points-to Analysis Using Spark, Proc. of CC, 2003.
DOI : 10.1007/3-540-36579-6_12

L. [. Lhoták and . Hendren, Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation, ACM Transactions on Software Engineering and Methodology, vol.18, issue.1, 2008.
DOI : 10.1145/1391984.1391987

D. Lacey, N. D. Jones, E. Van-wyk, and C. C. Frederiksen, Compiler Optimization Correctness by Temporal Logic, Higher-Order and Symbolic Computation (formerly LISP and Symbolic Computation), vol.17, issue.3, 2004.
DOI : 10.1023/B:LISP.0000029444.99264.c0

P. [. Leino and . Müller, Using the Spec# Language, Methodology, and Tools to Write Bug-Free Programs, Lecture Notes in Computer Science, vol.3, issue.3, 2010.
DOI : 10.1007/BF00288637

]. A. Loc12 and . Lochbihler, Java and the Java Memory Model: a Unified, Machine-Checked Formalisation, Programming Languages and Systems, 2012.

W. [. Leinenbach, E. Paul, and . Petrova, Towards the formal verification of a C0 compiler: code generation and implementation correctness, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05), 2005.
DOI : 10.1109/SEFM.2005.51

R. [. Lengauer and . Tarjan, A fast algorithm for finding dominators in a flowgraph, ACM Transactions on Programming Languages and Systems, vol.1, issue.1, 1979.
DOI : 10.1145/357062.357071

F. [. Lynch and . Vaandrager, Forward and backward simulations for timing-based systems, Proc. of the Real-Time: Theory in Practice, 1992.
DOI : 10.1007/BFb0032002

F. [. Lindholm and . Yellin, Java Virtual Machine Specification, 1999.

]. S. Mac92 and . Macrakis, From UNCOL to ANDF: Progress in Standard Intermediate Languages Open Software Foundation, 1992.

B. [. Manson, W. Goetz, E. Mansky, and . Gunter, A Framework for Formal Verification of Compiler Optimizations, ITP'10, 2004.

]. V. Mgm-+-06, N. Menon, B. R. Glew, A. Murphy, T. Mccreight et al., A Verifiable SSA Program Representation for Aggressive Compiler Optimization, POPL'06, 2006.

]. R. Mil71 and . Milner, An Algebraic Definition of Simulation Between Programs, 1971.

]. A. Min11 and . Miné, Static Analysis of Run-time Errors in Embedded Critical Parallel C Programs

. [. Bibliography, A. Matsuno, and . Ohori, A Type System Equivalent to Static Single Assignment, PPDP'06, 2006.

]. J. Moo89 and . Moore, A Mechanically Verified Language Implementation, J. Autom. Reason, vol.5, issue.4, 1989.

]. J. Moo96 and . Moore, Piton: A Mechanically Verified Assembly-Level Language, 1996.

]. F. Mor73 and . Morris, Advice on Structuring Compilers and Proving Them Correct, Proc. of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages, POPL '73, 1973.

J. [. Mccarthy and . Painter, Correctness of a compiler for arithmetic expressions, SIAM, 1967.
DOI : 10.1090/psapm/019/0242403

W. [. Manson, S. V. Pugh, and . Adve, The Java Memory Model, Proc. of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '05, 2005.

]. D. Msm-+-11, A. Marino, T. Singh, M. Millstein, S. Musuvathi et al., A Case for an SC-preserving Compiler, Proc. of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, 2011.

]. S. Muc97 and . Muchnick, Advanced Compiler Design and Implementation, 1997.

A. [. Naik and . Aiken, Conditional Must Not Aliasing for Static Race Detection, Proc. of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '07, 2007.
DOI : 10.1145/1190215.1190265

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.81.1046

M. Naik, A. Aiken, and J. Whaley, Effective Static Race Detection for Java, Proc. of the 2006 ACM SIGPLAN conference on Programming language design and implementation, PLDI '06, 2006.

]. G. Nec00 and . Necula, Translation Validation for an Optimizing Compiler, Proc. of the ACM SIGPLAN 2000 conference on Programming language design and implementation, PLDI '00, 2000.

H. [. Nielson, C. Nielson, and . Hankin, Principles of Program Analysis, 1999.
DOI : 10.1007/978-3-662-03811-6

]. D. Nov07 and . Novillo, Memory SSA -A Unified Approach for Sparsely Representing Memory Operations, Proc of the GCC Developers' Summit, 2007.

]. P. Ohe07 and . Ohearn, Resources, Concurrency, and Local Reasoning, Theor. Comput. Sci, vol.375, issue.1-3, 2007.

S. [. Owens, P. Sarkar, and . Sewell, A Better x86 Memory Model: x86-TSO, Proc. of the 22nd International Conference on Theorem Proving in Higher Order Logics, TPHOLs '09, 2009.
DOI : 10.1007/11817963_46

O. B. Pagano, T. Andrieu, B. Moniot, E. Canou, P. Chailloux et al., Experience Report: Using Objective Caml to Develop Safety-Critical Embedded Tools in a Certification Framework, Proc. of ICFP, 2009.

]. S. Pop06, ]. A. Poppss98, M. Pnueli, E. Siegel, and . Singerman, The SSA Representation Framework: Semantics, Analyses and GCC Implementation Translation Validation, Proc. of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems, TACAS '98, 1998.

]. W. Pug00, . [. Pugh, C. Paleczny, C. Vick, L. Click et al., The Java Memory Model is Fatally Flawed. Concurrency -Practice and Experience The Java Hotspot(TM) Server Compiler, USENIX Java Virtual Machine Research and Technology Symposium High-level Programming of Embedded Hard Real-Time Devices Proc. of EuroSys, 2000.

]. M. Rin01, . [. Rinard, X. Rideau, and . Leroy, Analysis of Multithreaded Programs Validating Register Allocation and Spilling, SAS Proc. of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction. [RSL08] L. Rideau, B.P. Serpette, and X. Leroy. Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves. JAR, pp.1-19, 2001.

M. [. Stata and . Abadi, A Type System for Java Bytecode Subroutines, Proc. of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '98, 1998.

D. [. ?ev?ík and . Aspinall, On Validity of Program Transformations in the Java Memory Model, Proc. of the 22nd European conference on Object-Oriented Programming, 2008.
DOI : 10.1007/978-3-540-70592-5_3

L. [. Stewart, A. W. Beringer, R. F. Appel, E. Stark, J. Borger et al., Verified Heap Theorem Prover by Paramodulation Java and the Java Virtual Machine: Definition, Verification, Validation, Proc. of the 17th ACM SIGPLAN International Conference on Functional Programming, 2001.

Y. Shi, K. Casey, M. A. Ertl, and D. Gregg, Virtual Machine Showdown: Stack Versus Registers, ACM Trans. Archit. Code Optim, vol.4, issue.4, 2008.
DOI : 10.1145/1328195.1328197

]. D. Sch99, D. A. Schmidt, and . Schmidt, Binary Relations for Abstraction and Refinement Structure-preserving Binary Relations for Program Abstraction The essence of computation, The Sun Hotspot JVM Does Not Conform with the Java Memory Model, 1999.

]. J. ?ev09 and . ?ev?ík, Program Transformations in Weak Memory Models, 2009.

]. J. ?ev11 and . ?ev?ík, Safe Optimisations for Shared-Memory Concurrent Programs, Proc. of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, 2011.

R. [. Sreedhar, D. M. Ju, V. Gillies, and . Santhanam, Translating Out of Static Single Assignment Form, SAS'99, 1999.
DOI : 10.1007/3-540-48294-6_13

]. A. Snm-+-12, S. Singh, D. Narayanasamy, T. Marino, M. Millstein et al., End-To-End Sequential Consistency, Proc. of International Symposium on Computer Architecture, To Appear, 2012.

]. F. Spo05 and . Spoto, Julia: A Generic Static Analyser for the Java Bytecode, Proc. of the Workshop FTfJP, 2005.

J. [. Sussman and . Steele, Scheme: An Interpreter for Extended Lambda Calculus, MEMO 349, 1975.

]. S. Ssa-+-11, P. Sarkar, J. Sewell, L. Alglave, D. Maranget et al., Understanding POWER Multiprocessors, Proc. of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, 2011.

]. P. Sso-+-10, S. Sewell, S. Sarkar, F. Z. Owens, M. O. Nardelli et al., x86-TSO: A Rigorous and Usable Programmer's Model for x86 Multiprocessors, Commun. ACM, issue.7, p.53, 2010.

S. Sarkar, P. Sewell, F. Zappa-nardelli, S. Owens, T. Ridge et al., The Semantics of x86-CC Multiprocessor Machine Code, Proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL'09, 2009.

]. T. Ste61 and J. Steel, A First Version of UNCOL In Papers presented at the, western joint IRE-AIEE-ACM computer conference, IRE-AIEE-ACM '61 (Western), 1961.

]. Ste78, . G. Jr, and . Steele, Rabbit: A Compiler for Scheme, Massachusetts Institute of Technology, 1978.

R. [. Stepp, S. Tate, and . Lerner, Equality-Based Translation Validator for LLVM, CAV'11, 2011.
DOI : 10.1007/BFb0054170

]. M. Str02 and . Strecker, Formal Verification of a Java Compiler in Isabelle, Proc. Conference on Automated Deduction, 2002.

]. J. ?vzn-+-11, V. ?ev?ík, F. Vafeiadis, S. Zappa-nardelli, P. Jagannathan et al., Relaxedmemory Concurrency and Verified Compilation, Proc. of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 2011.

[. Tristan, P. Govereau, and G. Morrisett, Evaluating Value-Graph Translation Validation for LLVM, Proc. of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, 2011.

[. Tristan and X. Leroy, Formal Verification of Translation Validators: A Case Study on Instruction Scheduling Optimizations, SIGPLAN Not, vol.43, issue.1, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00289540

[. Tristan and X. Leroy, Verified Validation of Lazy Code Motion, Proc. of the 2009 ACM SIGPLAN conference on Programming language design and implementation, PLDI '09, 2009.
URL : https://hal.archives-ouvertes.fr/inria-00415865

[. Tristan, X. Leroy, and . Simple, Verified Validator for Software Pipelining, Proc. of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '10, 2010.
URL : https://hal.archives-ouvertes.fr/inria-00529836

]. D. Tmc-+-96, G. Tarditi, P. Morrisett, C. Cheng, R. Stone et al., TIL: a type-directed optimizing compiler for ML, PLDI '96: Proc. of the ACM SIGPLAN 1996 conference on Programming language design and implementation, 1996.

D. [. Tu and . Padua, Efficient Building and Placing of Gating Functions, Proc. of the ACM SIGPLAN 1995 conference on Programming language design and implementation, PLDI '95, 1995.

M. [. Tate, Z. Stepp, S. Tatlock, and . Lerner, Equality Saturation: a New Approach to Optimization, POPL '09: Proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, 2009.
DOI : 10.2168/lmcs-7(1:10)2011

URL : http://arxiv.org/abs/1012.1802

M. [. Torlak, J. Vaziri, and . Dolby, MemSAT: Checking Axiomatic Specifications of Memory Models, Proc. of the 2010 ACM SIGPLAN conference on Programming language design and implementation, PLDI '10, 2010.

. Vrcg-+-99-]-r, P. Vallée-rai, E. Co, L. Gagnon, P. Hendren et al., Soot -A Java Bytecode Optimization Framework, Proc. of CASCON '99, 1999.

L. [. Vallee-rai and . Hendren, Jimple: Simplifying Java Bytecode for Analyses and Transformations, 1998.

A. [. Wildmoser, T. Chaieb, and . Nipkow, Bytecode Analysis for Proof Carrying Code, Electronic Notes in Theoretical Computer Science, vol.141, issue.1
DOI : 10.1016/j.entcs.2005.02.040

]. J. Wha99 and . Whaley, Dynamic Optimization Through the Use of Automatic Runtime Specialization. Master's thesis, Massachusetts Institute of Technology, 1999.

]. G. Win93 and . Winskel, The Formal Semantics of Programming Languages: An Introduction, 1993.

S. [. Xi and . Xia, Towards Array Bound Check Elimination in Java TM Virtual Machine Language, Proc. of CASCON '99, 1999.

X. Yang, Y. Chen, E. Eide, and J. Regehr, Finding and Understanding Bugs in C Compilers, Proc. of the 32nd ACM SIGPLAN conference on Programming language design and implementation, PLDI '11, 2011.

J. Zhao, S. Nagarakatte, M. M. Martin, and S. Zdancewic, Formalizing the LLVM Intermediate Representation for Verified Program Transformations, Proc. of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '12, 2012.