Formal Verification of an UAV autopilot: Static analysis and Verified Code Generation
Vérification formelle du fonctionnement d’un autopilote: Analyse statique et Génération de code vérifiée
Résumé
Critical systems are systems whose failure could have catastrophic consequences, such as the destruction of expensive equipment or the death of people. These systems are found in the automotive, medical and drone autopilot systems. It is essential to ensure that these systems do not present a risk of failure. Formal methods are powerful verification techniques for obtaining strong guarantees on such systems, even if it is generally not possible to formally verify the entire system. This thesis deals with the formal verification of certain critical software components of a drone autopilot. It made it possible to review different methods of verification and proof of programs that can be applied to such software and use them on a case study, the Paparazzi autopilot developed at ENAC.
Les systèmes critiques sont des systèmes dont la défaillance peut avoir des conséquences catastrophiques, telles la destruction de matériel coûteux ou le décès de personnes. On retrouve ces systèmes aussi bien dans l’automobile, le médical ou bien dans les systèmes de pilotage automatique de drone. Il est essentiel de s’assurer que ces systèmes ne présentent pas de risque de défaillance. Les méthodes formelles sont des techniques de vérification puissantes permettant d’obtenir des garanties fortes sur de tels systèmes, même s’il n’est généralement pas possible de vérifier formellement l’ensemble du système. Cette thèse traite de la vérification formelle de certains composants logiciels critique d’un autopilote de drone. Elle a permis de passer en revue différentes méthodes de vérification et de preuve de programmes qui peuvent être appliquées à de tels logiciels et de les utiliser sur un cas d’étude, l’autopilote Paparazzi développé à l’ENAC.
Origine : Fichiers produits par l'(les) auteur(s)