Electronic Proceedings in Theoretical Computer Science · 2023 · 163 citations · 5 references
ComputingComputer ScienceFormal MethodsLogicTheory Of ComputationAbstract InterpretationControl-flow AnalysisDeductive VerificationLogic ProgrammingType CheckingType SystemsAbstract DomainsAbstract SemanticsFixpoint ComputationLogic Program VerificationProgram Property AnalysisProgram VerificationRule-based SystemsStatic Semantics
interpretation allows constructing sound static analysis tools by safely approximating program semantics.Frameworks for abstract interpretation typically provide an implementation of a specialized iteration strategy to compute an abstract fixpoint, as well as a number of abstract domains in order to approximate different program properties.However, the design and implementation of additional domains, as well as their combinations, is eventually necessary to successfully prove arbitrary program properties.We propose a rule-based methodology for rapid design and prototyping of new domains and combining existing ones, with a focus on the analysis of logic programs.We provide several examples for domains combining numerical properties and data types and apply them to proving complex program properties.
5
Stable models and circumscription
Paolo Ferraris, Joohyung Lee, Vladimir Lifschitz · Artificial Intelligence · 2010 · 196 citations
Verifying Tight Logic Programs with anthem and vampire
Jorge Fandinno, Vladimir Lifschitz, Patrick Lühne et al. · Theory and Practice of Logic Programming · 2020 · 29 citations · Full text
Ordered completion for logic programs with aggregates
Vernon Asuncion, Yin Chen, Yan Zhang et al. · Artificial Intelligence · 2015 · 15 citations