Table of Contents
Fetching ...

Bottoms Up for CHCs: Novel Transformation of Linear Constrained Horn Clauses to Software Verification

Márk Somorjai, Mihály Dobos-Kovács, Zsófia Ádám, Levente Bajczi, András Vörös

TL;DR

This work reframes Constrained Horn Clauses ($CHCs$) as a frontier for software verification by introducing a forward, bottom-up transformation of linear $CHCs$ into a Control Flow Automaton ($CFA$). By converting CHC satisfiability into reachability problems in the $CFA$, the authors leverage standard model checking workflows, specifically within the THETA framework, and compare against the existing top-down approach. Empirical results on 585 linear $CHCs$ from the CHC-COMP21 $LIA$-Lin track show that the forward transformation substantially increases solvable tasks (over a twofold improvement) and that a boolean predicate-based abstraction with sub-state splitting yields the best performance. The study demonstrates that CHC solving can benefit from traditional software verification techniques, suggesting broader adoption of forward transformations in verification toolchains and competitive performance relative to leading solvers like Z3, Eldarica, and Unihorn.

Abstract

Constrained Horn Clauses (CHCs) have conventionally been used as a low-level representation in formal verification. Most existing solvers use a diverse set of specialized techniques, including direct state space traversal or under-approximating abstraction, necessitating purpose-built complex algorithms. Other solvers successfully simplified the verification workflow by translating the problem to inputs for other verification tasks, leveraging the strengths of existing algorithms. One such approach transforms the CHC problem into a recursive program roughly emulating a top-down solver for the deduction task; and verifying the reachability of a safety violation specified as a control location. We propose an alternative bottom-up approach for linear CHCs, and evaluate the two options in the open-source model checking framework THETA on both synthetic and industrial examples. We find that there is a more than twofold increase in the number of solved tasks when the novel bottom-up approach is used in the verification workflow, in contrast with the top-down technique.

Bottoms Up for CHCs: Novel Transformation of Linear Constrained Horn Clauses to Software Verification

TL;DR

This work reframes Constrained Horn Clauses () as a frontier for software verification by introducing a forward, bottom-up transformation of linear into a Control Flow Automaton (). By converting CHC satisfiability into reachability problems in the , the authors leverage standard model checking workflows, specifically within the THETA framework, and compare against the existing top-down approach. Empirical results on 585 linear from the CHC-COMP21 -Lin track show that the forward transformation substantially increases solvable tasks (over a twofold improvement) and that a boolean predicate-based abstraction with sub-state splitting yields the best performance. The study demonstrates that CHC solving can benefit from traditional software verification techniques, suggesting broader adoption of forward transformations in verification toolchains and competitive performance relative to leading solvers like Z3, Eldarica, and Unihorn.

Abstract

Constrained Horn Clauses (CHCs) have conventionally been used as a low-level representation in formal verification. Most existing solvers use a diverse set of specialized techniques, including direct state space traversal or under-approximating abstraction, necessitating purpose-built complex algorithms. Other solvers successfully simplified the verification workflow by translating the problem to inputs for other verification tasks, leveraging the strengths of existing algorithms. One such approach transforms the CHC problem into a recursive program roughly emulating a top-down solver for the deduction task; and verifying the reachability of a safety violation specified as a control location. We propose an alternative bottom-up approach for linear CHCs, and evaluate the two options in the open-source model checking framework THETA on both synthetic and industrial examples. We find that there is a more than twofold increase in the number of solved tasks when the novel bottom-up approach is used in the verification workflow, in contrast with the top-down technique.
Paper Structure (17 sections, 6 equations, 8 figures, 2 tables)

This paper contains 17 sections, 6 equations, 8 figures, 2 tables.

Figures (8)

  • Figure 1: The CEGAR loop
  • Figure 2: Abstract state space
  • Figure 3: Overview of the presented work.
  • Figure 4: CFA of \ref{['ex:mot']} after forward transformation.
  • Figure 5: ARG resulting from the model checking of the CFA in \ref{['fig:forward_ex']}.
  • ...and 3 more figures

Theorems & Definitions (7)

  • Example 1
  • Example 2
  • Example 3
  • Example 4
  • Example 5
  • Example 6
  • Example 7