Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007) 2007
DOI: 10.1109/taicpart.2007.4344094
|View full text |Cite
|
Sign up to set email alerts
|

Abstracting Symbolic Execution with String Analysis

Abstract: Forward symbolic execution is a technique for program analysis that explores the execution paths of a program by maintaining a symbolic representation of the program state. Traditionally, applications of this technique have focused on symbolically representing only primitive data types, while more recent extensions have expanded to reference types. We demonstrate the ability to symbolically execute a commonly used library class, specifically a string, at an abstract level. By abstracting away the implementatio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
28
0

Year Published

2009
2009
2022
2022

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 17 publications
(28 citation statements)
references
References 17 publications
0
28
0
Order By: Relevance
“…There are also several other string analysis tools that use symbolic string analysis based on DFA encodings [18], [5], [23]. Some of them are based on symbolic execution and use a DFA representation to model and verify the string manipulation operations in Java programs [18], [5].…”
Section: Related Workmentioning
confidence: 99%
“…There are also several other string analysis tools that use symbolic string analysis based on DFA encodings [18], [5], [23]. Some of them are based on symbolic execution and use a DFA representation to model and verify the string manipulation operations in Java programs [18], [5].…”
Section: Related Workmentioning
confidence: 99%
“…We use restrict to denote the restriction of a string value in order to model branch conditions. For instance, considering a branch condition v = e, where e is a regular expression, we add restrict(v, e) at the beginning of the truth branch and restrict(v,ē) at the beginning of the false branch whereē indicates to restrict the string values of v to the complement set of e. A similar idea has been discussed in [15]. Finally, we use input to denote a read operation, where a string variable is assigned a value provided by a user.…”
Section: Automata-based String Analysismentioning
confidence: 99%
“…Wassermann et al [18] proposed a static analysis to detect SQL injections following Minamide [13]. There are some other tools for string analysis [6,9,15,19]. Shannon et al [15] propose forward bounded symbolic execution to perform string analysis on Java programs.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Strings form a fundamental data type used in most programming languages. Recently, a number of techniques producing string constraints have been suggested for automatic testing [8,1] and program verification [16]. String-constraint solvers are used in many testing and analysis tools [5,2,6,15,23].…”
Section: Introductionmentioning
confidence: 99%