Hornix: From LLVM IR to Constrained Horn Clauses and Back (Competition Contribution)
摘要
Hornix is a software verification tool for C programs based on a translation first to LLVM intermediate representation (IR) and subsequently to constrained Horn clauses (CHCs). It extends LLVM with a transformation pass that constructs a system of CHCs from the LLVM IR representation and the safety property of the program. The resulting CHC system is then passed to a backend Horn solver, such as Eldarica, Golem, or Z3-Spacer. Hornix is currently in an early stage of development and supports reasoning about safety properties of integer programs only.