La vérification méchanisée des propriétés de vivacité pour des programmes infinis avec des effets et de la non-déterminisme est difficile. Les cadres de raisonnement temporel existants fonctionnent au niveau des modèles tels que les traces et les automates. Le raisonnement se fait à un niveau très bas, nécessitant des techniques de preuve (co-)inductives imbriquées complexes et une familiarité avec les mécanismes des assistants de preuve (par exemple, le vérificateur de gardes). De plus, raisonner au niveau des modèles plutôt qu'au niveau des constructions de programmes crée un fossé de vérification qui perd les avantages de la modularité et de la composition offerts par des logiques de programmes structurelles telles que la Logique de Hoare. Pour combler ce fossé de vérification, et l'absence de techniques de preuve compositionnelles pour des spécifications temporelles, nous proposons Ticl, une nouvelle logique temporelle structurelle. En utilisant Ticl, nous encodons des techniques de preuve (co-)inductives complexes sous forme de lemmes structurels et concentrons notre raisonnement sur des variantes et des invariants. Nous montrons qu'il est possible de réaliser des preuves compositionnelles de propriétés temporelles générales dans un assistant de preuve, tout en travaillant à un niveau élevé d'abstraction. Nous démontrons les avantages de Ticl en fournissant des preuves méchanisées de propriétés de sécurité et de vivacité pour des programmes avec planification, mémoire partagée concurrente, et consensus distribué, démontrant un faible ratio preuve-code.
Ioannidis et al. (Thu,) ont étudié cette question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: