5 research outputs found

    Bounded Verification of Higher-Order Stateful Programs

    Get PDF
    In this thesis we explore bounded verification techniques for higher-order stateful programs. We consider two settings: open and closed higher-order, which are defined by the type-order of free variables present in each. Closed higher-order programs allow free variables only if they are of ground type, whereas open higher-order programs generalise this by allowing free variables of arbitrary order. We elaborate on the challenges involved in reasoning within said settings, and define a higher-order stateful language—an ML-like -calculus with recursion and higher-order global state—as our vehicle of study. We define a Bounded Model Checking technique for closed higher-order programs via defunctionalization using nominal techniques, and a Symbolic Execution Game Semantics to perform Bounded Symbolic Execution of open higher-order programs. Contributions presented in this thesis involve theoretical and experimental results. On the theoretical side, all approaches defined herein are sound and bounded-complete in the sense that they report errors if and only if errors are reachable up to the given bound—all results necessary to show this are included. For the experimental side, we implemented prototype tools for each technique, collected and created benchmarks to test each higher-order setting, and measured the performance of our tools to compare them to other relevant existing tools. Results presented herein for closed and open higher-order programs have been published in SETTA 2019 and FSCD 2020 respectively

    Abstractions pour la vérification de propriétés de sécurité de protocoles cryptographiques

    Get PDF
    Since the development of computer networks and electronic communications, it becomes important for the public to use secure electronic communications. Cryptographic considerations are part of the answer to the problem and cryptographic protocols describe how to integrate cryptography in actual communications. However, even if the encryption algorithms are robust, there can still remain some attacks due to logical flaw in protocols and formal verification can be used to avoid such flaws. In this thesis, we use abstraction techniques to formally prove various types of properties : secrecy and authentication properties, fairness properties and anonymity.Depuis le développement de l'utilisation des réseaux informatiques et de l'informatisation des communications, il est apparu pour le public un besoin de sécuriser les communications électroniques. Les considérations cryptographiques constituent un élément de réponse au problème de la sécurité des communications et les protocoles cryptographiques décrivent comment intégrer la cryptographie à l'intérieur de communications réelles. Cependant, même dans le cas où les algorithmes de chiffrement sont supposés robustes, les protocoles peuvent présenter des failles de conception exploitables (failles logiques), entrainant un besoin de vérification formelle. Dans cette thèse, nous utilisons des techniques d'abstraction afin de prouver formellement divers types de propriétés. les propriétés de secret et d'authentification, les propriétés de type équité et des propriétés de type anonymat
    corecore