2013
DOI: 10.1007/978-3-319-03077-7_2
|View full text |Cite
|
Sign up to set email alerts
|

PASS: String Solving with Parameterized Array and Interval Automaton

Abstract: Abstract. The problem of solving string constraints together with numeric constraints has received increasing interest recently. Existing methods use either bit-vectors or automata (or their combination) to model strings, and reduce string constraints to bit-vector constraints or automaton operations, which are then solved in the respective domain. Unfortunately, they often fail to achieve a good balance between efficiency, accuracy, and comprehensiveness. In this paper we illustrate a new technique that uses … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
41
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 47 publications
(41 citation statements)
references
References 19 publications
0
41
0
Order By: Relevance
“…BEK [12] uses symbolic finite transducers (SFT) to model a sanitizer in PHP code. [9] and [19] extend this approach by extended SFTs in which an input is an arbitrary string not limited to a single character to represent a decoder, and by using parameterized array, respectively.…”
Section: String Constraint Solvingmentioning
confidence: 99%
“…BEK [12] uses symbolic finite transducers (SFT) to model a sanitizer in PHP code. [9] and [19] extend this approach by extended SFTs in which an input is an arbitrary string not limited to a single character to represent a decoder, and by using parameterized array, respectively.…”
Section: String Constraint Solvingmentioning
confidence: 99%
“…Also, automata refinement may constitute a performance bottleneck, even though it is very useful in solving membership constraints. Further discussion can be found in [10,18]. Other approaches for solving regular expression constraints are based on reductions to other theories, such as bit-vectors [15] or linear integer arithmetic constraints [29], [7], and using constraint solvers for those theories.…”
Section: Related Workmentioning
confidence: 99%
“…a valid solution for P4 is: name = "a b" and visa = "0000000000000001". SymJS applies symbolic execution to explore all paths, and uses an efficient string-numeric solver [13] to determine path feasibility and produce test cases. P 1 : trim(name) = "fujitsu" P 2 : trim(name) = "fujitsu" ∧ trim(name).split(" ").len = 2 P 3 : P 2 ∧ ¬visa.match("\d{16}") P 4 : P 2 ∧ visa.match("\d{16}") ∧ parseInt(visa [15]) % 2 = 0 P 5 :…”
Section: Motivation and Overiewmentioning
confidence: 99%
“…However, JavaScript features extensive String operations, which are not supported by most modern SMT solvers. Thus SymJS introduces the PASS solver [13] to handle string constraints. PASS supports integers, bit-vector numbers, floating point numbers, and strings.…”
Section: Symbolic Execution Enginementioning
confidence: 99%
See 1 more Smart Citation