AUTOMATED TEST INPUT GENERATION FOR WEB APPLICATIONS
First Claim
1. A method for generating test inputs for testing a program, the method comprising:
- performing a source-to-source transformation of the program;
performing interpretation on the program based on a set of test input values;
symbolically executing the program;
recording a symbolic constraint for each of one or more conditional expressions encountered during execution of the program, includinganalyzing a string operation in the program to identify one or more possible execution paths, andgenerating symbolic inputs representing values of variables in each of the conditional expressions as a numeric expression and a string constraint including generating constraints on string values by modeling string operations using finite state transducers (FSTs) and supplying values from the program'"'"'s execution in place of intractable sub-expressions; and
generating new inputs to drive the program during a subsequent iteration based on results of solving the recorded string constraints.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed herein for automated test input generation for web applications. In one embodiment, the method comprises performing a source-to-source transformation of the program; performing interpretation on the program based on a set of test input values; symbolically executing the program; recording a symbolic constraint for each of one or more conditional expressions encountered during execution of the program, including analyzing a string operation in the program to identify one or more possible execution paths, and generating symbolic inputs representing values of variables in each of the conditional expressions as a numeric expression and a string constraint including generating constraints on string values by modeling string operations using finite state transducers (FSTs) and supplying values from the program'"'"'s execution in place of intractable sub-expressions; and generating new inputs to drive the program during a subsequent iteration based on results of solving the recorded string constraints.
362 Citations
28 Claims
-
1. A method for generating test inputs for testing a program, the method comprising:
-
performing a source-to-source transformation of the program; performing interpretation on the program based on a set of test input values; symbolically executing the program; recording a symbolic constraint for each of one or more conditional expressions encountered during execution of the program, including analyzing a string operation in the program to identify one or more possible execution paths, and generating symbolic inputs representing values of variables in each of the conditional expressions as a numeric expression and a string constraint including generating constraints on string values by modeling string operations using finite state transducers (FSTs) and supplying values from the program'"'"'s execution in place of intractable sub-expressions; and generating new inputs to drive the program during a subsequent iteration based on results of solving the recorded string constraints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An article of manufacture having one or more computer readable storage media storing instructions therein which, when executed by a system, causes the system to perform a method comprising:
-
performing a source-to-source transformation of the program; performing interpretation on the program based on a set of test input values; symbolically executing the program; recording a symbolic constraint for each of one or more conditional expressions encountered during execution of the program, including analyzing a string operation in the program to identify one or more possible execution paths, and generating symbolic inputs representing values of variables in each of the conditional expressions as a numeric expression and a string constraint including generating constraints on string values by modeling string operations using finite state transducers (FSTs) and supplying values from the program'"'"'s execution in place of intractable sub-expressions; and generating new inputs to drive the program during a subsequent iteration based on results of solving the recorded string constraints.
-
-
26. A method comprising:
-
receiving a web application; and applying concolic testing to the web application using string constraints and a decision procedure for the string constraints. - View Dependent Claims (27)
-
-
28. An article of manufacture having one or more computer readable storage media storing instructions therein which, when executed by a system, causes the system to perform a method comprising:
-
receiving a web application; and applying concolic testing to the web application using string constraints and a decision procedure for the string constraints.
-
Specification