Isabelle-verified correctness of Datalog programs for program analysis

Anders Schlichtkrull, Rene Rydhof Hansen, Flemming Nielson

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Static program analysis has become an essential tool for developers to find and avoid bugs as well as security vulnerabilities. This is particularly important for applications requiring formal verification, e.g., safety- or security-critical applications.We formalize and prove correct all the components needed to specify and perform static analysis based on the Datalog logic programming language, including the first known Isabelle formalization of stratified Datalog. In addition the existence of least solutions for any stratified Datalog program is established and proven. We demonstrate the usefulness of our formalization by further formalizing the general Bit-Vector Framework and prove correct four classic analyses in this framework.
Original languageEnglish
Title of host publicationSAC '24: Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing
PublisherAssociation for Computing Machinery
Publication date2024
Pages1731-1732
ISBN (Electronic)979-8-4007-0243-3/24/04
DOIs
Publication statusPublished - 2024
EventThe 39th ACM/SIGAPP Symposium on Applied Computing - Avila, Spain
Duration: 8 Apr 202412 Apr 2024

Conference

ConferenceThe 39th ACM/SIGAPP Symposium on Applied Computing
Country/TerritorySpain
CityAvila
Period08/04/202412/04/2024

Keywords

  • Datalog
  • formal methods
  • Isabelle
  • Static analysis

Fingerprint

Dive into the research topics of 'Isabelle-verified correctness of Datalog programs for program analysis'. Together they form a unique fingerprint.

Cite this