A Symbolic Algorithm for the Case-Split Rule in Solving Word Constraints with Extensions (Technical Report)

03/02/2023
by   Yu-Fang Chen, et al.
0

Case split is a core proof rule in current decision procedures for the theory of string constraints. Its use is the primary cause of the state space explosion in string constraint solving, since it is the only rule that creates branches in the proof tree. Moreover, explicit handling of the case split rule may cause recomputation of the same tasks in multiple branches of the proof tree. In this paper, we propose a symbolic algorithm that significantly reduces such a redundancy. In particular, we encode a string constraint as a regular language and proof rules as rational transducers. This allows us to perform similar steps in the proof tree only once, alleviating the state space explosion. We also extend the encoding to handle arbitrary Boolean combinations of string constraints, length constraints, and regular constraints. In our experimental results, we validate that our technique works in many practical cases where other state-of-the-art solvers fail to provide an answer; our Python prototype implementation solved over 50 could not be solved by the other tools.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/05/2022

Word Equations in Synergy with Regular Constraints (Technical Report)

When eating spaghetti, one should have the sauce and noodles mixed inste...
research
10/29/2020

String Constraints with Concatenation and Transducers Solved Efficiently (Technical Report)

String analysis is the problem of reasoning about how strings are manipu...
research
08/25/2010

Distributed solving through model splitting

Constraint problems can be trivially solved in parallel by exploring dif...
research
11/09/2017

What Is Decidable about String Constraints with the ReplaceAll Function

Recently, it was shown that any theory of strings containing the string-...
research
12/11/2021

CertiStr: A Certified String Solver (technical report)

Theories over strings are among the most heavily researched logical theo...
research
05/21/2019

Automata Terms in a Lazy WSkS Decision Procedure (Technical Report)

We propose a lazy decision procedure for the logic WSkS. It builds a ter...
research
04/29/2019

QRATPre+: Effective QBF Preprocessing via Strong Redundancy Properties

We present version 2.0 of QRATPre+, a preprocessor for quantified Boolea...

Please sign up or login with your details

Forgot password? Click here to reset