, Deductive Software Verification -The KeY Book -From Theory to Practice, Lecture Notes in Computer Science, vol.10001, 2016.

R. Krzysztof, F. S. Apt, E. De-boer, and . Olderog, Verification of Sequential and Concurrent Programs. Texts in Computer Science, 2009.

P. Agh-+-17]-timos-antonopoulos, M. Gazzillo, E. Hicks, T. Koskinen, S. Terauchi et al., Decomposition instead of self-composition for proving the absence of timing channels, Proc. of the 38th Conference on Programming Language Design and Implementation (PLDI 2017), pp.362-375, 2017.

S. Abramsky, D. M. Gabbay, and T. S. Maibaum, Handbook of Logic in Computer Science, vol.3, 1994.

R. Bardou, Vérification de programmes avec pointeurs à l'aide de régions et de permissions, 2011.

G. Peter, R. E. Bishop, L. Bloomfield, and . Cyra, Combining testing and proof to gain high assurance in software: A case study, Proc. of the 24th International Symposium on Software Reliability Engineering (ISSRE 2013), pp.248-257, 2013.

. Bbk-+-16]-bernhard, T. Beckert, M. Bormer, and . Kirsten, Automated verification for functional and relational properties of voting rules, Proc. of the 6th International Workshop on Computational Social Choice (COM-SOC 2016), 2016.

S. Jasmin-christian-blanchette, A. Böhme, N. Popescu, and . Smallbone, Encoding monomorphic and polymorphic types, Logical Methods in Computer Science, vol.12, issue.4, 2016.

Y. Bertot and P. Castéran, Interactive Theorem Proving and Program Development -Coq'Art: The Calculus of Inductive Constructions, Texts in Theoretical Computer Science. An EATCS Series, 2004.
URL : https://hal.archives-ouvertes.fr/hal-00344237

M. Barnett, -. Bor, R. Chang, B. Deline, K. Jacobs et al., Boogie: A modular reusable verifier for object-oriented programs, Proc. of the 4th International Symposium on Formal Methods for Components and Objects (FMCO 2005), pp.364-387, 2005.

P. Bcf-+-13]-patrick-baudin, J. Cuoq, C. Filliâtre, B. Marché, Y. Monate et al., ACSL: ANSI/ISO C Specification Language, 2013.

G. Barthe, J. M. Crespo, and C. Kunz, Relational verification using product programs, Proc. of the 17th International Symposium on Formal Methods (FM 2011), pp.200-214, 2011.

G. Barthe, J. M. Crespo, and C. Kunz, Product programs and relational program logics, Journal of Logical and Algebraic Methods in Programming, vol.85, issue.5, pp.847-859, 2016.

G. Barthe, P. R. D'argenio, and T. Rezk, Secure information flow by self-composition, J. of Mathematical Structures in Computer Science, vol.21, issue.6, pp.1207-1252, 2011.

N. Benton, Simple relational correctness proofs for static analyses and program transformations, Proc. of the 41st Symposium on Principles of Programming Languages, pp.14-25, 2004.

L. Blatter, N. Kosmatov, P. L. Gall, V. Prevosto, and G. Petiot, Static and dynamic verification of relational properties on self-composed C code, Proc. of the 12th International Conference on Tests and Proofs (TAP 2018), vol.18, pp.44-62, 2018.
URL : https://hal.archives-ouvertes.fr/cea-01835470

L. Blatter, N. Kosmatov, P. L. Gall, and V. Prevosto, RPP: automatic proof of relational properties by self-composition, Proc. of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2017), pp.391-397, 2017.
URL : https://hal.archives-ouvertes.fr/cea-01808885

M. Barnett, K. Rustan, M. Leino, and W. Schulte, The Spec# programming system: An overview, Proc. of the 2th International Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2004), pp.49-69, 2005.

C. Jasmin, A. Blanchette, and . Paskevich, TFF1: the TPTP typed firstorder form with rank-1 polymorphism, Proc. of the 24th International Conference on Automated Deduction (CADE 2013), pp.414-420, 2013.

M. Carroll, Programming from Specifications (2Nd Ed, 1994.

P. Cousot and R. Cousot, Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints, Porc. of the Fourth Symposium on Principles of Programming Languages, pp.238-252, 1977.

E. M. Clarke, E. A. Emerson, and A. P. Sistla, Automatic verification of finite-state concurrent systems using temporal logic specifications, ACM Transactions on Programming Languages and Systems (TOPLAS), vol.8, issue.2, pp.244-263, 1986.

P. Cuoq, B. Monate, A. Pacalet, and V. Prevosto, Functional dependencies of C functions via weakest pre-conditions, International Journal on Software Tools for Technology Transfer, vol.13, issue.5, pp.405-417, 2011.

D. R. Cok, OpenJML Software verification for Java 7 using JML, OpenJDK, and Eclipse, Proc. of the 1st Workshop on Formal Integrated Development Environment (F-IDE 2014), pp.79-92, 2014.

B. Cook, A. Podelski, and A. Rybalchenko, Proving program termination, Communications of the ACM, vol.54, issue.5, pp.88-98, 2011.

D. Edsger-wybe, A constructive approach to the problem of program correctness, BIT Numerical Mathematics, vol.8, issue.3, pp.174-186, 1968.

M. Delahaye, N. Kosmatov, and J. Signoles, Common specification language for static and dynamic analysis of C programs, Proc. of the 28th Annual ACM Symposium on Applied Computing (SAC 2013), pp.1230-1235, 2013.
URL : https://hal.archives-ouvertes.fr/hal-00853721

A. Darvas and P. Müller, Reasoning about method calls in JML specifications, Journal of Object Technology, vol.5, issue.5, pp.59-85, 2006.

W. Edsger, C. S. Dijkstra, and . Scholten, Predicate Calculus and Program Semantics, 1990.

M. Eilers, P. Müller, and S. Hitz, Modular product programs, Proc. of the 27th European Symposium on Programming, pp.502-529, 2018.

G. P. Farina, S. Chong, and M. Gaboardi, Relational symbolic execution. Computing Research Repository, 2017.

R. W. Floyd, Assigning meanings to programs, Proc. of Symposia in Applied Mathematics, vol.19, pp.19-32, 1967.

J. , C. Filliâtre, and C. Marché, The why/krakatoa/caduceus platform for deductive program verification, Proc. of the 19th International Conference on Computer Aided Verification (CAV 2007), pp.173-177, 2007.

J. , C. Filliâtre, and A. Paskevich, Why3 -where programs meet provers, Proc. of the 22nd European Symposium on Programming (ESOP 2013), pp.125-128, 2013.

C. Flanagan and J. B. Saxe, Avoiding exponential explosion: generating compact verification conditions, Proc. of the 28th Symposium on Principles of Programming Languages POPL, pp.193-205, 2001.

J. C. Michael and . Gordon, Programming language theory and its implementation -applicative and imperative paradigms. Prentice Hall International series in Computer Science, 1988.

C. Hawblitzel, M. Kawaguchi, K. Shuvendu, H. Lahiri, and . Rebêlo, Towards modularly comparing programs using automated theorem provers, Proc. of the 24th International Conference on Automated Deduction (CADE 2013), pp.282-299, 2013.

C. A. Hoare, An axiomatic basis for computer programming, Communications of the ACM, vol.12, issue.10, pp.576-580, 1969.

B. Jacobs, J. Smans, and F. Piessens, A quick tour of the verifast program verifier, Proc. of the 8th Asian Symposium on Programming Languages and Systems (APLAS 2010), pp.304-311, 2010.

. K-+-14]-lauri-kasanen, Into the Core: A look at Tiny Core Linux. Electronic textbook, 2014.

J. Kanig, R. Chapman, C. Comar, J. Guitton, Y. Moy et al., Explicit assumptions -A prenup for marrying static and dynamic program verification, Proc. of the 8th International Conferenceon Tests and Proofs (TAP 2014), pp.142-157, 2014.

J. C. King, Symbolic execution and program testing, Communications of the ACM, vol.19, issue.7, pp.385-394, 1976.

I. Kip, Assembly Language for x86 Processors, 2014.

. Kkp-+-15]-florent, N. Kirchner, V. Kosmatov, J. Prevosto, B. Signoles et al., Frama-C: A software analysis perspective, Formal Aspects of Computing, vol.27, issue.3, pp.573-609, 2015.

M. Kiefer, V. Klebanov, and M. Ulbrich, Relational program reasoning using compiler IR -combining static verification and dynamic analysis, J. of Automated Reasoning, vol.60, issue.3, pp.337-363, 2018.

J. Lions, ARIANE 5 Flight 501 Failure, Report by the Inquiry Board, 1996.

K. Rustan, M. Leino, and P. Müller, Verification of equivalent-results methods, Proc. of the 17th European Symposium on Programming, pp.307-321, 2008.

K. Rustan, M. Leino, and N. Polikarpova, Verified calculations, Proc. of the 5th International Conference on Verified Software: Theories, Tools, Experiments (VSTTE 2013), Revised Selected Papers, vol.8164, pp.170-190, 2013.

T. Lrl-+-00]-gary, C. Leavens, K. Ruby, M. Rustan, E. Leino et al., JML: notations and tools supporting detailed design in Java, Proc. of the Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2000), pp.105-106, 2000.

K. Rustan, M. Leino, and V. Wüstholz, The dafny integrated development environment, Proc. of the 1st Workshop on Formal Integrated Development Environment (F-IDE 2014), pp.3-15, 2014.

B. Meyer, Object-Oriented Software Construction, 1997.

A. Miné, École Normale Supérieure Paris, semantics and application to program verification, lecture notes: Denotational semantics, 2015.

Y. Moy, Automatic Modular Static Safety Checking for C Programs, 2009.

C. Benjamin, A. Pierce, C. Azevedo-de-amorim, M. Casinghino, M. Gaboardi et al., Logical Foundations. Software Foundations series, Electronic textbook, vol.1, 2018.

C. Benjamin, N. Pierce-;-guillaume-petiot, B. Kosmatov, A. Botella, J. Giorgetti et al., Your proof fails? testing helps to find the reason, Proc. of the 10th International Conference on Tests and Proofs (TAP 2016), vol.9762, pp.130-150, 2002.

D. A. Schmidt, Denotational Semantics: A Methodology for Language Development, 1986.

M. Sousa and I. Dillig, Cartesian Hoare Logic for Verifying k-safety Properties, Proc. of the 37th Conference on Programming Language Design and Implementation (PLDI 2016), pp.57-69, 2016.

C. Scheben and P. H. Schmitt, Efficient self-composition for weakest precondition calculi, Proc. of the 19th International Symposium on Formal Methods (FM 2014), pp.579-594, 2014.

G. Sutcliffe, S. Schulz, K. Claessen, and P. Baumgartner, The TPTP typed first-order form with arithmetic, Proc. of the 18th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2012), pp.406-419, 2012.

, The Coq Development Team. The Coq Proof Assistant, 2017.

M. Ulbrich, Deductive verification of relational properties, JML Workshop, 2017.

K. Vorobyov, J. Signoles, and N. Kosmatov, Shadow state encoding for efficient monitoring of block-level properties, Proc. of the International Symposium on Memory Management (ISMM 2017), pp.47-58, 2017.
URL : https://hal.archives-ouvertes.fr/cea-01836510

G. Winskel, The formal semantics of programming languages -an introduction. Foundation of computing series, 1993.

H. Yang, Relational separation logic, Theoretical Computer Science, vol.375, issue.1-3, pp.308-334, 2007.

Y. Yvs-+-18]-weikun-yang, P. Vizel, A. Subramanyan, S. Gupta, and . Malik, Lazy self-composition for security verification, Proc. of the 30th International Conference Computer Aided Verification (CAV 2018), pp.136-156, 2018.

H. Zhan, -. Wei, and H. Song, A formal model for metamorphic relation decomposition, Proc. of the 4th World Congress on Software Engineering (WCSE 2013), pp.64-68, 2013.