The coq proof assistant reference manual : Version 8.6, 2016. ,
Verifying Higher-Order Functions with Tree Automata, 21st International Conference on Foundations of Software Science and Computation Structures, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01775188
Equational approximations for tree automata completion, Journal of Symbolic Computation, vol.45, issue.5, pp.574-597, 2010. ,
URL : https://hal.archives-ouvertes.fr/inria-00495405
Types and higher-order recursion schemes for verification of higher-order programs, Proceedings of the 36th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, pp.416-428, 2009. ,
Predicate abstraction and CEGAR for higher-order model checking, Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2011, pp.222-233, 2011. ,
Automata-based abstraction for automated verification of higher-order tree-processing programs, Programming Languages and Systems-13th Asian Symposium, pp.295-312, 2015. ,
On model-checking trees generated by higher-order recursion schemes, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06), pp.81-90, 2006. ,
The isabelle reference manual, 1993. ,
Liquid types, Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, pp.159-169, 2008. ,
Bounded refinement types, Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, pp.48-61, 2015. ,
Abstract refinement types, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, pp.209-228, 2013. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
A formal technique for automated dialogue development, Proceedings of the 1st Conference on Designing Interactive Systems: Processes, Practices, Methods, & Techniques, DIS '95, pp.219-226, 1995. ,
, Modeling in Event-B: System and Software Engineering, 2010.
Vérification et validation formelles de systèmes interactifs fondées sur la preuve : application aux systèmes Multi-Modaux, JIPS, vol.1, issue.1, pp.1-30, 2010. ,
Volta: the first all-electric conventional helicopter, MEA 2017, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01609233
A survey on reactive programming, ACM Comput. Surv, vol.45, issue.4, 2013. ,
Modelling safety properties of interactive medical systems, Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, EICS '13, pp.91-100, 2013. ,
, Systems and Software Verification: Model-Checking Techniques and Tools, 2010.
Validating properties of component-based graphical user interfaces, Design, Specification and Verification of Interactive Systems '96, pp.347-365, 1996. ,
Verification of properties of interactive components from their executable code, Proceedings of the 7th ACM SIGCHI, EICS '15, pp.276-285, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-01619784
Designing, developing and verifying interactive components iteratively with djnn, ERTS 2016, 2016. ,
URL : https://hal.archives-ouvertes.fr/hal-01292291
Model Checking, 1999. ,
Interprétation abstraite. Technique et science informatiques, vol.19, pp.155-164, 2000. ,
Object-Oriented Programming; An Evolutionary Approach, 1991. ,
Using model checking for the automatic validation of user interface systems, vol.01, 1998. ,
A Discipline of Programming, 1997. ,
An axiomatic basis for computer programming, Commun. ACM, vol.12, issue.10, pp.576-580, 1969. ,
A survey of object oriented programming languages, 2009. ,
Formal verification of medical device user interfaces using pvs, Fundamental Approaches to Software Engineering, pp.200-214, 2014. ,
A formal description of multimodal interaction techniques for immersive virtual reality applications, Proceedings of the 2005 IFIP TC13, INTERACT'05, pp.170-183, 2005. ,
Object-oriented concepts, databases, and applications. chapter A Survey of Object-oriented Concepts, pp.3-21, 1989. ,
Towards support for verification of adaptative systems with djnn, Proceedings of Cognitive 2015, vol.03, p.2015 ,
URL : https://hal.archives-ouvertes.fr/hal-01888093
Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies, 2013. ,
Debugging for reactive programming, Proceedings of the 38th International Conference on Software Engineering, ICSE '16, pp.796-807, 2016. ,
Concepts, Techniques, and Models of Computer Programming, 2004. ,
Security Patterns: Integrating security and systems engineering, 2013. ,
A survey on security patterns, Progress in informatics, vol.5, issue.5, pp.35-47, 2008. ,
A pattern language for security models, proceedings of PLOP, vol.1, 2001. ,
Security patterns, Michigan State University, PLoP Conf. Citeseer, 2003. ,
Architectural patterns for enabling application security, vol.51, p.61801, 1997. ,
Improving model checking with context modelling, Advances in Software Engineering, 2012. ,
URL : https://hal.archives-ouvertes.fr/hal-00738735
Environment-driven reachability for timed systems : Safety verification of an aircraft landing gear system, Int. Software Tools for Technology Transfer (STTT), 2016. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
First international competition on runtime verification: rules, benchmarks, tools, and final results of crv 2014, International Journal on Software Tools for Technology Transfer, pp.1-40, 2017. ,
URL : https://hal.archives-ouvertes.fr/cea-01845191
Failure-aware runtime verification of distributed systems, FSTTCS 2015. LIPIcs, vol.45, pp.590-603, 2015. ,
Runtime verification for LTL and TLTL, ACM Trans. Softw. Eng. Methodol, vol.20, issue.4, p.14, 2011. ,
Organising LTL monitors over distributed systems with a global clock, Formal Methods in System Design, vol.49, issue.1-2, pp.109-158, 2016. ,
URL : https://hal.archives-ouvertes.fr/hal-01315776
Manipulating LTL formulas using Spot 1.0, Proceedings of the 11th International Symposium on Automated Technology for Verification and Analysis (ATVA'13), vol.8172, pp.442-445, 2013. ,
Monitoring decentralized specifications, Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp.125-135, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01653725
THEMIS: a tool for decentralized monitoring algorithms, Proceedings of 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'17-DEMOS), 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01653727
, THEMIS demonstration repository, 2017.
, THEMIS website, 2017.
Engineering Dependable Software Systems, NATO science for peace and security series, d: information and communication security, vol.34, pp.141-175, 2013. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
, Lectures on Runtime Verification-Introductory and Advanced Topics, vol.10457, 2018.
Interactive runtime verification-when interactive debugging meets runtime verification, 28th IEEE International Symposium on Software Reliability Engineering, pp.182-193, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01592671
Towards understanding interactive debugging, 2016 IEEE International Conference on Software Quality, Reliability and Security, QRS 2016, pp.152-163, 2016. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
The B-book : Assigning Programs to Meanings, 1996. ,
Introducing Simulation and Model Animation in the MDE Topcased Toolkit, 4th European Congress EMBEDDED REAL TIME SOFTWARE (ERTS), 2008. ,
URL : https://hal.archives-ouvertes.fr/hal-00371596
B for Modeling Secure Information Systems-The B4MSecure Platform, 17th Int. Conference on Formal Engineering Methods, vol.9407, pp.312-318, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-01420686
ProB : A model checker for B, FME 2003 : Formal Methods, LNCS 2805, pp.855-874, 2003. ,
Where is the proof ?-a review of experiences from applying mde in industry, Model Driven Architecture-Foundations and Applications, vol.5095, pp.432-443, 2008. ,
Jé ;zé ;quel. Weaving executability into object-oriented meta-languages, Proceedings of MODELS/UML'2005, pp.264-278, 2005. ,
Towards a model execution framework for eclipse, Proceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture, BM-MDA '09, vol.4, pp.1-4, 2009. ,
EMF : Eclipse Modeling Framework 2.0, 2009. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
,
Deciding Local Theory Extensions via E-matching, CAV 2015, 2015. ,
Satisfiability modulo theories, Handbook of Satisfiability, pp.825-885, 2009. ,
URL : https://hal.archives-ouvertes.fr/hal-01095009
Bounded model checking, Handbook of Satisfiability, pp.457-481, 2009. ,
BINSEC/SE : A dynamic symbolic execution toolkit for binary-level analysis, SANER 2016, 2016. ,
URL : https://hal.archives-ouvertes.fr/hal-01721502
Efficient E-Matching for SMT Solvers, 2007. ,
Model Generation for Quantified Formulas : A Taint-Based Approach, CAV 2018, 2018. ,
URL : https://hal.archives-ouvertes.fr/cea-01709306
SAGE : whitebox fuzzing for security testing, ACM Queue, vol.10, issue.1, p.20, 2012. ,
Counterexample-Guided Quantifier Instantiation for Synthesis in SMT, CAV 2015, 2015. ,
Finite Model Finding in SMT, CAV 2013, 2013. ,
Extending Specification Patterns for Verification of Parametric Traces, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-02004378
, Patterns in Property Specifications for Finite-State Verification. Dans ICSE, pp.411-420
, ACM, 1999.
, Lightweight Formal Methods. ACM Comput. Surv, vol.28, issue.4, p.121, 1996.
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18
,
An Effectful Way to Eliminate Addiction to Dependence, 32nd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2017, pp.1-12, 2017. ,
Failure is Not an Option-An Exceptional Type Theory, Held as Part of the European Joint Conferences on Theory and Practice of Software, pp.245-271, 2018. ,
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18 8 let corec fib : int stream with
,
#Tail : int stream with ,
,
#Tail-> map2 ( + ) fib fib#Tail ,
, Ce calcul est défini au moment de la définition d'une valeur du type 'a stream par le biais d'un filtrage par comotifs. La ligne 8 introduit ici la suite de Fibonacci en définissant les calculs déclenchés pour chacune de ses observations. Par exemple, en ligne 9, on déclare que "fib#Head = 1" tandis qu'en ligne 12, on déclare que "fib#Tail#Tail = map2 ( + ) fib fib#Tail". Ces définitions sont à la fois de haut-niveau et suffisamment paresseuses pour que la définition d'un objet infini (productif) puisse se faire sans provoquer de divergence incontrôlée. Le filtrage par comotifs a été introduit par Abel, Pientka, Thibodeau et Setzer pour éviter l'écueil des coinductifs de COQ : la perte de la préservation du typage par l'évaluation. Notre contribution a été de montrer qu'il suffit qu'un langage de programmation fonctionnel soit muni d'un système de type incluant GADTs et polymorphisme d'ordre 2 pour que son extension avec un filtrage par comotifs se résume à l'écriture d'une macro, c'est-à-dire d'une transformation purement locale et syntaxique. Non seulement la simplicité de cette transformation nous a permis d, La déclaration de type de la ligne 1 introduit un type coalgébrique pour les séquences infinies de valeurs de type 'a. Un type coalgébrique est défini par les observations que l'on peut faire de ses habitants : ici par exemple, on peut observer la tête d'une séquence avec l'observation
,
Copattern matching and first class observations in OCaml, Pages 97-108. Editeurs : Wim Vanhoof, Brigitte Pientka, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01653261
, Approches Formelles dans l'Assistance au Développement de Logiciels-AFADL'18