En effet, tel qu'il est défini dans les deux chapitres précédents, notre langage ne permet pas la gestion de telles structures de données. Il n'est, dans ce cas, pas possible d'écrire des programmes tels que celui des piles ,
The existence of refinement mappings, Digital Systems Research Center, 1988. ,
The B-Book, assigning programs to meaning, 1996. ,
Refinement Calculus : A Systematic Introduction, 1998. ,
DOI : 10.1007/978-1-4612-1674-2
On the correctness of refinement in program development, 1978. ,
Verification of Pointer Programs Using Regions and Permissions, Thèse de doctorat, 2011. ,
URL : https://hal.archives-ouvertes.fr/tel-00647331
Verification of Object-Oriented Programs with Invariants., The Journal of Object Technology, vol.3, issue.6, pp.27-56, 2004. ,
DOI : 10.5381/jot.2004.3.6.a2
Boogie: A Modular Reusable Verifier for Object-Oriented Programs, Formal Methods for Components and Objects : 4th International Symposium, pp.364-387, 2005. ,
DOI : 10.1007/11804192_17
The Spec# Programming System: An Overview, Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, pp.49-69, 2004. ,
DOI : 10.1007/978-3-540-30569-9_3
ACSL : ANSI/ISO C Specification Language, 2008. ,
Verification of Object-Oriented Software : The KeY Approach, Lecture Notes in Computer Science, vol.4334, 2007. ,
DOI : 10.1007/978-3-540-69061-0
M??T??OR: An industrial success in formal development, p.26, 1998. ,
DOI : 10.1007/BFb0053352
Smallfoot: Modular Automatic Assertion Checking with Separation Logic, International Symposium on Formal Methods for Components and Objects, pp.115-137, 2005. ,
DOI : 10.1007/11804192_6
Attack model for verification of interval security properties for smart card C codes, Proceedings of the 5th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, PLAS '10, pp.1-2, 2010. ,
DOI : 10.1145/1814217.1814219
Interactive Theorem Proving and Program Development, 2004. ,
DOI : 10.1007/978-3-662-07964-5
URL : https://hal.archives-ouvertes.fr/hal-00344237
The Alt-Ergo automated theorem prover, 2008. ,
Why3 : Shepherd your herd of provers, Boogie 2011 : First International Workshop on Intermediate Verification Languages, pp.53-64, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-00790310
On inter-procedural analysis of programs with lists and data, PLDI, pp.578-589, 2011. ,
Interpreting Invariant Composition in the B Method Using the Spec# Ownership Relation: A Way to Explain and Relax B Restrictions, Lecture Notes in Computer Science, vol.4355, 2007. ,
DOI : 10.1007/11955757_4
An overview of JML tools and applications, International Journal on Software Tools for Technology Transfer, vol.box, issue.3, 2004. ,
DOI : 10.1007/s10009-004-0167-4
An overview of JML tools and applications, International Journal on Software Tools for Technology Transfer, vol.box, issue.3, pp.212-232, 2005. ,
DOI : 10.1007/s10009-004-0167-4
ACSL by example, towards a verified C standard library, 2011. ,
Taint Dependency Sequences: A Characterization of Insecure Execution Paths Based on Input-Sensitive Cause Sequences, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, pp.371-380, 2010. ,
DOI : 10.1109/ICSTW.2010.28
Characteristic formulae for the verification of imperative programs, Proceeding of the 16th ACM SIGPLAN international conference on Functional Programming (ICFP), pp.418-430, 2011. ,
Functional translation of a calculus of capabilities, ACM SIG- PLAN International Conference on Functional Programming (ICFP), pp.213-224, 2008. ,
ESC/Java2: Uniting ESC/Java and JML, Lecture Notes in Computer Science, vol.3362, pp.108-128, 2004. ,
DOI : 10.1007/978-3-540-30569-9_6
Semi-persistent Data Structures, 17th European Symposium on Programming (ESOP'08), 2008. ,
DOI : 10.1007/978-3-540-78739-6_25
Typed memory management in a calculus of capabilities, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '99, pp.262-275, 1999. ,
DOI : 10.1145/292540.292564
Fan-C, a Frama-C plug-in for data flow verification, Embedded Real Time Software and Systems, 2012. ,
Frama-C, Proceedings of the 10th international conference on Software Engineering and Formal Methods, SEFM12, pp.233-247, 2012. ,
DOI : 10.1007/978-3-642-33826-7_16
Value Plugin Documentation, Carbon version. CEA-List, 2011. ,
VCC: Contract-based modular verification of concurrent C, 2009 31st International Conference on Software Engineering, Companion Volume, pp.429-430, 2009. ,
DOI : 10.1109/ICSE-COMPANION.2009.5071046
Certification of bounds on expressions involving rounded operators, ACM Transactions on Mathematical Software, vol.37, issue.1, 2010. ,
DOI : 10.1145/1644001.1644003
URL : https://hal.archives-ouvertes.fr/hal-00127769
Z3: An Efficient SMT Solver, TACAS, pp.337-340, 2008. ,
DOI : 10.1007/978-3-540-78800-3_24
Taster, a Frama-C plug-in to enforce coding standards, Embedded Real Time Software and Systems, 2010. ,
SIDAN: A tool dedicated to software instrumentation for detecting attacks on non-control-data, 2009 Fourth International Conference on Risks and Security of Internet and Systems (CRiSIS 2009), pp.51-58, 2009. ,
DOI : 10.1109/CRISIS.2009.5411977
URL : https://hal.archives-ouvertes.fr/hal-00424574
Simplify: a theorem prover for program checking, Journal of the ACM, vol.52, issue.3, pp.365-473, 2005. ,
DOI : 10.1145/1066100.1066102
A discipline of programming. Series in Automatic Computation, 1976. ,
The Yices SMT solver, 2006. ,
On the Relationship Between Concurrent Separation Logic and Assume-Guarantee Reasoning, Lecture Notes in Computer Science, vol.4421, pp.173-188, 2007. ,
DOI : 10.1007/978-3-540-71316-6_13
The Why/Krakatoa/Caduceus Platform for Deductive Program Verification, Damm and Hermanns [45], pp.173-177 ,
DOI : 10.1007/978-3-540-73368-3_21
Assigning meanings to programs, of Proceedings of Symposia in Applied Mathematics, pp.19-32, 1967. ,
DOI : 10.1090/psapm/019/0235771
Verification of floating point programs : From real numbers to floating point numbers, NASA Formal Methods Symposium, 2013. ,
Region-based memory management in Cyclone, Programming language design and implementation (PLDI), pp.282-293, 2002. ,
A Certified Multi-prover Verification Condition Generator, Verified Software : Theories, Tools, Experiments (4th International Conference VSTTE), pp.2-17, 2012. ,
DOI : 10.1007/3-540-48118-4_45
URL : https://hal.archives-ouvertes.fr/hal-00639977
An axiomatic basis for computer programming, Communications of the ACM, vol.12, issue.10, pp.576-580, 1969. ,
DOI : 10.1145/363235.363259
Analyse Statique et preuve de Programmes Industriels Critiques, Thèse de doctorat, 2008. ,
The VeriFast program verifier, CW Reports, vol.520, 2008. ,
A Quick Tour of the VeriFast Program Verifier, Programming Languages and Systems, pp.304-311, 2010. ,
DOI : 10.1007/978-3-642-17164-2_21
Dynamic Frames: Support for Framing, Dependencies and Sharing Without Restrictions, 14th International Symposium on Formal Methods (FM'06), pp.268-283, 2006. ,
DOI : 10.1007/11813040_19
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.166.61
seL4, Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, SOSP '09, pp.107-115, 2010. ,
DOI : 10.1145/1629575.1629596
Specification and verification challenges for sequential object-oriented programs. Formal Aspects of Computing, 2007. ,
Data groups : Specifying the modification of extended state, OOPSLA, pp.144-153, 1998. ,
Dafny: An Automatic Program Verifier for Functional Correctness, pp.348-370, 2010. ,
DOI : 10.1007/978-3-642-17511-4_20
VACID-0 : Verification of ample correctness of invariants of data-structures, edition 0, Proceedings of Tools and Experiments Workshop at VSTTE, 2010. ,
VACID-0 : Verification of ample correctness of invariants of data-structures, edition 0, VSTTE, 2010. ,
Using data groups to specify and check side effects, PLDI. ACM, 2002. ,
Towards Modular Algebraic Specifications for Pointer Programs: A Case Study, Rewriting, Computation and Proof, pp.235-258, 2007. ,
DOI : 10.1007/978-3-540-73147-4_12
Weakest precondition calculus, revisited using Why3, 2012. ,
Calcul de plus faible précondition, revisité en Why3, Vingt-quatrièmes Journées Francophones des Langages Applicatifs, 2013. ,
Eiffel : The Language, 1992. ,
A theory of type polymorphismn in programming, J. Comput. Syst. Sci, vol.17, 1978. ,
Programming from specifications, 1994. ,
A theoretical basis for stepwise refinement and the programming calculus, Science of Computer Programming, vol.9, issue.3, pp.287-306, 1987. ,
DOI : 10.1016/0167-6423(87)90011-6
Modular inference of subprogram contracts for safety checking, Journal of Symbolic Computation, vol.45, issue.11, pp.1184-1211, 2010. ,
DOI : 10.1016/j.jsc.2010.06.004
URL : https://hal.archives-ouvertes.fr/inria-00534331
The Jessie plugin for Deduction Verification in Frama-C ? Tutorial and Reference Manual, INRIA & LRI, 2011. ,
Polymorphism and separation in Hoare type theory, 11th ACM SIGPLAN International Conference on Functional Programming, pp.62-73, 2006. ,
Taking architecture and compiler into account in formal proofs of numerical programs, Thèse de doctorat, 2012. ,
URL : https://hal.archives-ouvertes.fr/tel-00710193
Isabelle/HOL ? A Proof Assistant for Higher-Order Logic, Lecture Notes in Computer Science, vol.2283, 2002. ,
Local reasoning about programs that alter data structures, CSL '01 : Proceedings of the 15th International Workshop on Computer Science Logic, pp.1-19, 2001. ,
Purely Functional Data Structures, 1998. ,
DOI : 10.1017/CBO9780511530104
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.505
Formal verification of industrial C code using Frama-C : a case study, Beckert and Marché [23], pp.205-219, 1000019083. ,
Class invariants : The end of the road ?, 3rd International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming (IWACO), 2007. ,
The origins of structural operational semantics, Journal of Logic and Algebraic Programming, pp.60-61, 2004. ,
Separation logic: a logic for shared mutable data structures, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, 2002. ,
DOI : 10.1109/LICS.2002.1029817
Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic, ECOOP 2009 ? Object-Oriented Programming, pp.148-172, 2009. ,
DOI : 10.1007/978-3-540-78163-9_19
Considerate Reasoning and the Composite Design Pattern, Lecture Notes in Computer Science, vol.5944, pp.328-344, 2010. ,
DOI : 10.1007/978-3-642-11319-2_24
A Refinement Methodology for Object-Oriented Programs, Beckert and Marché [23], pp.143-159, 1000019083. ,
DOI : 10.1006/inco.1996.2613
URL : https://hal.archives-ouvertes.fr/inria-00534336
Binary heaps formally verified in Why3, Research Report, vol.7780, 2011. ,
URL : https://hal.archives-ouvertes.fr/inria-00636083
Abstract, Journal of Functional Programming, vol.78, issue.03, pp.245-271, 1992. ,
DOI : 10.1145/322123.322135
URL : https://hal.archives-ouvertes.fr/hal-00730926
Region-Based Memory Management, Information and Computation, vol.132, issue.2, 1997. ,
DOI : 10.1006/inco.1996.2613
URL : http://doi.org/10.1006/inco.1996.2613
Specifying generic Java programs : two case studies, PreProceedings of LDTA'2010, pp.92-106, 2010. ,
URL : https://hal.archives-ouvertes.fr/inria-00525784
Formal methods, ACM Computing Surveys, vol.41, issue.4, 2009. ,
DOI : 10.1145/1592434.1592436
Formal verification of software important to safety using the frama-c tool suite, 2012. ,