Results 1  10
of
19
A Decision Procedure for Subset Constraints over Regular Languages
 PLDI'09
, 2009
"... Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings, and are often manipulated using highlevel string operations such as equality checks, regular expression matching, and ..."
Abstract

Cited by 48 (10 self)
 Add to MetaCart
(Show Context)
Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings, and are often manipulated using highlevel string operations such as equality checks, regular expression matching, and string concatenation. It is difficult to reason about these operations because they are not wellintegrated into current constraint solvers. We present a decision procedure that solves systems of equations over regular language variables. Given such a system of constraints, our algorithm finds satisfying assignments for the variables in the system. We define this problem formally and render a mechanized correctness proof of the core of the algorithm. We evaluate its scalability and practical utility by applying it to the problem of automatically finding inputs that cause SQL injection vulnerabilities.
Solving String Constraints Lazily
, 2010
"... Decision procedures have long been a fixture in program analysis, and reasoning about string constraints is a key element in many program analyses and testing frameworks. Recent work on string analysis has focused on providing decision procedures that model string operations. Separating string analy ..."
Abstract

Cited by 24 (8 self)
 Add to MetaCart
(Show Context)
Decision procedures have long been a fixture in program analysis, and reasoning about string constraints is a key element in many program analyses and testing frameworks. Recent work on string analysis has focused on providing decision procedures that model string operations. Separating string analysis from its client applications has important and familiar benefits: it enables the independent improvement of string analysis tools and it saves client effort. We present a constraint solving algorithm for equations over string variables. We focus on scalability with regard to the size of the input constraints. Our algorithm performs an explicit search for a satisfying assignment; the search space is constructed lazily based on an automata representation of the constraints. We evaluate our approach by comparing its performance with that of existing string decision procedures. Our prototype is, on average, several orders of magnitude faster than the fastest existing implementation.
On the computational completeness of equations over sets of natural numbers
, 2010
"... Systems of equations of the form ϕj(X1,...,Xn) = ψj(X1,...,Xn) with 1 � j � m are considered, in which the unknowns Xi are sets of natural numbers, while the expressions ϕj,ψj may contain singleton constants and the operations of union and pairwise addition S + T = {m + n  m ∈ S, n ∈ T}. It is sho ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
Systems of equations of the form ϕj(X1,...,Xn) = ψj(X1,...,Xn) with 1 � j � m are considered, in which the unknowns Xi are sets of natural numbers, while the expressions ϕj,ψj may contain singleton constants and the operations of union and pairwise addition S + T = {m + n  m ∈ S, n ∈ T}. It is shown that the family of sets representable by unique (least, greatest) solutions of such systems is exactly the family of recursive (r.e., cor.e., respectively) sets of numbers. Basic decision problems for these systems are located in the arithmetical hierarchy. The same results are established for equations with addition and intersection.
COMPLEXITY OF SOLUTIONS OF EQUATIONS OVER SETS OF NATURAL NUMBERS
, 2008
"... Systems of equations over sets of natural numbers (or, equivalently, language equations over a oneletter alphabet) of the form Xi = ϕi(X1,..., Xn) (1 � i � n) are considered. Expressions ϕi may contain the operations of union, intersection and pairwise sum A+B = {x+y  x ∈ A, y ∈ B}. A system with ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
Systems of equations over sets of natural numbers (or, equivalently, language equations over a oneletter alphabet) of the form Xi = ϕi(X1,..., Xn) (1 � i � n) are considered. Expressions ϕi may contain the operations of union, intersection and pairwise sum A+B = {x+y  x ∈ A, y ∈ B}. A system with an EXPTIMEcomplete least solution is constructed, and it is established that least solutions of all such systems are in EXPTIME. The general membership problem for these equations is proved to be EXPTIMEcomplete.
On language equations with onesided concatenation
, 2012
"... Language equations are equations where both the constants occurring in the equations and the solutions are formal languages. They have first been introduced in formal language theory, but are now also considered in other areas of computer science. In the present paper, we restrict the attention to ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Language equations are equations where both the constants occurring in the equations and the solutions are formal languages. They have first been introduced in formal language theory, but are now also considered in other areas of computer science. In the present paper, we restrict the attention to language equations with onesided concatenation, but in contrast to previous work on these equations, we allow not just union but all Boolean operations to be used when formulating them. In addition, we are not just interested in deciding solvability of such equations, but also in deciding other properties of the set of solutions, like its cardinality (finite, infinite, uncountable) and whether it contains least/greatest solutions. We show that all these decision problems are EXPTIMEcomplete.
ON EQUATIONS OVER SETS OF INTEGERS
 STACS
, 2010
"... Systems of equations with sets of integers as unknowns are considered. It is shown that the class of sets representable by unique solutions of equations using the operations of union and addition S +T = {m+nm ∈ S, n ∈ T} and with ultimately periodic constants is exactly the class of hyperarithme ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Systems of equations with sets of integers as unknowns are considered. It is shown that the class of sets representable by unique solutions of equations using the operations of union and addition S +T = {m+nm ∈ S, n ∈ T} and with ultimately periodic constants is exactly the class of hyperarithmetical sets. Equations using addition only can represent every hyperarithmetical set under a simple encoding. All hyperarithmetical sets can also be represented by equations over sets of natural numbers equipped with union, addition and subtraction S − · T = {m−nm ∈ S, n ∈ T, m � n}. Testing whether a given system has a solution is Σ 1 1complete for each model. These results, in particular, settle the expressive power of the most general types of language equations, as well as equations over subsets of free groups.
Commutation with codes
 Theor. Comput. Sci
, 2005
"... The centralizer of a set of words X is the largest set of words C(X) commuting with X: XC(X) = C(X)X. It has been a long standing open question due to Conway, 1971, whether the centralizer of any rational set is rational. While the answer turned out to be negative in general, see Kunc 2004, we prov ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
The centralizer of a set of words X is the largest set of words C(X) commuting with X: XC(X) = C(X)X. It has been a long standing open question due to Conway, 1971, whether the centralizer of any rational set is rational. While the answer turned out to be negative in general, see Kunc 2004, we prove here that the situation is different for codes: the centralizer of any rational code is rational and if the code is finite, then the centralizer is finitely generated. This result has been previously proved only for binary and ternary sets of words in a series of papers by the authors and for prefix codes in an ingenious paper by Ratoandromanana 1989 – many of the techniques we use in this paper follow her ideas. We also give in this paper an elementary proof for the prefix case. Key words: Codes, Commutation, Centralizer, Conway’s problem, Prefix codes. 1
The Simplest Language Where Equivalence of Finite Substitutions Is Undecidable
"... Abstract. We show that it is undecidable whether two finite substitutions agree on the binary language a ∗ b. This in particular means that equivalence of nondeterministic finite transducers is undecidable even for twostate transducers with unary input alphabet and whose all transitions start from ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. We show that it is undecidable whether two finite substitutions agree on the binary language a ∗ b. This in particular means that equivalence of nondeterministic finite transducers is undecidable even for twostate transducers with unary input alphabet and whose all transitions start from the initial state. 1