Constraint Modelling and Solving of Some Verification Problems Anicet Bart

Constraint Modelling and Solving of Some Verification Problems Anicet Bart

Constraint modelling and solving of some verification problems Anicet Bart To cite this version: Anicet Bart. Constraint modelling and solving of some verification problems. Programming Languages [cs.PL]. Ecole nationale supérieure Mines-Télécom Atlantique, 2017. English. NNT : 2017IMTA0031. tel-01743851 HAL Id: tel-01743851 https://tel.archives-ouvertes.fr/tel-01743851 Submitted on 26 Mar 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Thèse de Doctorat Anicet BART Mémoire présenté en vue de l’obtention du grade de Docteur de l’École nationale supérieure Mines-Télécom Atlantique Bretagne-Pays de la Loire sous le sceau de l’Université Bretagne Loire École doctorale : Mathématiques et STIC (MathSTIC) Discipline : Informatique, section CNU 27 Unité de recherche : Laboratoire des Sciences du Numérique de Nantes (LS2N) Soutenue le 17 octobre 2017 Thèse n°: 2017IMTA0031 Constraint Modelling and Solving of some Verification Problems JURY Présidente : Mme Béatrice BÉRARD, Professeur, Université Pierre et Marie Curie, Paris-VI Rapporteurs : M. Salvador ABREU, Professeur, Universidade de Évora, Portugal Mme Béatrice BÉRARD, Professeur, Université Pierre et Marie Curie, Paris-VI Examinateurs : M. Nicolas BELDICEANU, Professeur, Institut Mines-Télécom Atlantique, Nantes M. Philippe CODOGNET, Professeur, Université Pierre et Marie Curie, Paris-VI Invité : M. Benoît DELAHAYE, Maître de conférence, Université de Nantes Directeur de thèse : M. Éric MONFROY, Professeur, Université de Nantes Co-encadrante de thèse : Mme Charlotte TRUCHET, Maître de conférence, Université de Nantes ii Constraint Modelling and Solving of some Verification Problems M´emoire pr´esent´een vue de l’obtention du grade de Docteur de l’Ecole´ nationale sup´erieure Mines-T´el´ecom Atlantique Bretagne-Pays de la Loire - IMT Atlantique sous le sceau de l’Universit´eBretagne Loire Anicet BART Ecole´ doctorale : Sciences et technologies de l’information, et math´ematiques Discipline : Informatique et applications, section CNU 27 Unit´ede recherche : Laboratoire des Sciences du Num´erique de Nantes (LS2N - UMR 6004) Directeur de th`ese : Pr. Eric´ MONFROY, professeur de l’Universit´ede Nantes Co-encadrante : Dr. Charlotte TRUCHET, maˆıtre de conf´erence de l’Universit´e de Nantes v Jury Directeur de th`ese : M. Eric´ MONFROY, Professeur, Universit´ede Nantes Co-encadrante : Mme Charlotte TRUCHET, Maˆıtre de conf´erence, Universit´ede Nantes Rapporteurs : M. Salvador ABREU, Professeur, Universit´ed’Evora,´ Evora´ (Portugal) Mme B´eatrice BERARD´ , Professeur, Universit´ePierre et Marie Curie, Paris-VI Examinateurs : M. Nicolas BELDICEANU, Professeur, Institut Mines-T´el´ecom Atlantique, Nantes M. Philippe CODOGNET, Professeur, Universit´ePierre et Marie Curie, Paris-VI Invit´e: M. Benoˆıt DELAHAYE, Maˆıtre de conf´erence, Universit´ede Nantes vi vii Constraint Modelling and Solving of some Verification Problems Short abstract: Constraint programming offers efficient languages and tools for solving combinatorial and computationally hard problems such as the ones proposed in program verification. In this thesis, we tackle two families of program verification prob- lems using constraint programming. In both contexts, we first propose a formal eval- uation of our contributions before realizing some experiments. The first contribution is about a synchronous reactive language, represented by a block-diagram algebra. Such pro- grams operate on infinite streams and model real-time processes. We propose a constraint model together with a new global constraint. Our new filtering algorithm is inspired from Abstract Interpretation. It computes over-approximations of the infinite stream values computed by the block-diagrams. We evaluated our verification process on the FAUST language (a language for processing real-time audio streams) and we tested it on exam- ples from the FAUST standard library. The second contribution considers probabilistic processes represented by Parametric Interval Markov Chains, a specification formalism that extends Markov Chains. We propose constraint models for checking qualitative and quantitative reachability properties. Our models for the qualitative case improve the state of the art models, while for the quantitative case our models are the first ones. We imple- mented and evaluated our verification constraint models as mixed integer linear programs and satisfiability modulo theory programs. Experiments have been realized on a PRISM based benchmark. Keywords: Constraint Modelling - Constraint Solving - Program Verification - Ab- stract Interpretation - Model Checking viii Mod´elisation et r´esolution par contraintes de probl`emes de v´erification R´esum´ecourt : La programmation par contraintes offre des langages et des outils permettant de r´esoudre des probl`emes `aforte combinatoire et `ala complexit´e´elev´eetels que ceux qui existent en v´erification de programmes. Dans cette th`ese nous r´esolvons deux familles de probl`emes de la v´erification de programmes. Dans chaque cas de figure nous commen¸cons par une ´etude formelle du probl`eme avant de proposer des mod`eles en contraintes puis de r´ealiser des exp´erimentations. La premi`ere contribution concerne un langage r´eactif synchrone repr´esentable par une alg`ebre de diagramme de blocs. Les pro- grammes utilisent des flux infinis et mod´elisent des syst`emes temps r´eel. Nous proposons un mod`ele en contraintes muni d’une nouvelle contrainte globale ainsi que ses algorithmes de filtrage inspir´esde l’interpr´etation abstraite. Cette contrainte permet de calculer des sur-approximations des valeurs des flux des diagrammes de blocs. Nous ´evaluons notre processus de v´erification sur le langage FAUST, qui est un langage d´edi´e`ala g´en´eration de flux audio. La seconde contribution concerne les syst`emes probabilistes repr´esent´es par des chaˆınes de Markov `aintervalles param´etr´es,un formalisme de sp´ecification qui ´etend les chaˆınes de Markov. Nous proposons des mod`eles en contraintes pour v´erifier des pro- pri´et´es qualitatives et quantitatives. Nos mod`eles dans le cas qualitatif am´eliorent l’´etat de l’art tandis que ceux dans le cas quantitatif sont les premiers propos´es `ace jour. Nous avons impl´ement´enos mod`eles en contraintes en probl`emes de programmation lin´eaire en nombres entiers et en probl`emes de satisfaction modulo des th´eories. Les exp´eriences sont r´ealis´ees `apartir d’un jeu d’essais de la biblioth`eque PRISM. Mots cl´es : mod´elisation par contraintes - r´esolution par contraintes - v´erification de programmes - interpr´etation abstraite - v´erification de mod`eles Contents 1 Contents Contents 1 1 Introduction 3 1.1 Scientific Context ................................ 5 1.2 Problems and Objectives ............................ 7 1.3 Contributions .................................. 8 1.4 Outline ...................................... 9 2 Constraint Programming 11 2.1 Introduction ................................... 12 2.2 Constraint Modelling .............................. 12 2.3 Constraint Solving ............................... 19 3 Program Verification 29 3.1 Introduction ................................... 30 3.2 Abstract Interpretation ............................. 32 3.3 Model Checking ................................. 35 3.4 Constraints meet Verification ......................... 36 4 Verifying a Real-Time Language with Constraints 39 4.1 Introduction ................................... 40 4.2 Background ................................... 43 4.3 Stream Over-Approximation Problem ..................... 46 4.4 The real-time-loop constraint ........................ 52 4.5 Applications ................................... 59 4.6 Application to FAUST and Experiments ................... 60 4.7 Conclusion and Perspectives .......................... 68 2 Contents 5 Verifying Parametric Interval Markov Chains with Constraints 71 5.1 Introduction ................................... 72 5.2 Background ................................... 74 5.3 Markov Chain Abstractions .......................... 76 5.4 Qualitative Properties ............................. 85 5.5 Quantitative Properties ............................. 90 5.6 Prototype Implementation and Experiments .................101 5.7 Conclusion and Perspectives ..........................107 6 Conclusion and Perspectives 109 French summary 113 Bibliography 125 List of Tables 135 List of Figures 136 3 Chapter 1 Introduction Contents 1.1 Scientific Context ............................. 5 1.2 Problems and Objectives ......................... 7 1.3 Contributions ............................... 8 1.4 Outline ................................... 9 4 Chapter 1. Introduction Computer scientists started to write programs in order to produce softwares realizing dedicated tasks faster and more efficiently than a human could perform. However, in ad- hoc developments the more complex is the problem to solve the longer it takes to write its corresponding solving program. Moreover, few modifications in the description of the problem to solve may impact many changes in the

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    149 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us