Solving String Constraints with Nondeterministic Streaming String Transducers and Parikh Automata
String constraints are logical formulas with regular expressions and string manipulating functions, and emerge in analysis of string manipulating programs. We develop a procedure to check satisfiability of syntactically-restricted string constraints with transducers. A streaming string transducer (S...
Gespeichert in:
Veröffentlicht in: | Computer Software 2023/01/25, Vol.40(1), pp.1_117-1_136 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | jpn |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | String constraints are logical formulas with regular expressions and string manipulating functions, and emerge in analysis of string manipulating programs. We develop a procedure to check satisfiability of syntactically-restricted string constraints with transducers. A streaming string transducer (SST) is a variant of a string-to-string transducer that computes an output with a fixed number of string variables. We also employ a Parikh automaton (PA), a string acceptor which computes a vector of natural numbers for an input and accepts if the vector satisfies a given arithmetic formula. We first show construction of the pre-image of a PA under an SST. Then we apply the result to show decidability of string constraints that may contain string replace functions using regular expressions with capture groups, and substring functions. The decision procedure is implemented as an SMT solver for string theory, and compared with existing solvers through an experiment on several constriants. |
---|---|
ISSN: | 0289-6540 |
DOI: | 10.11309/jssst.40.1_117 |