Tight bounds on the complexity of the Boyer-Moore string matching algorithm
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
The Stanford GraphBase: a platform for combinatorial computing
The Stanford GraphBase: a platform for combinatorial computing
A fast string searching algorithm
Communications of the ACM
Symbolic execution and program testing
Communications of the ACM
Communications of the ACM
Constraint Solving and Symbolic Execution
Verified Software: Theories, Tools, Experiments
Volume Computation for Boolean Combination of Linear Arithmetic Constraints
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Program analysis: from qualitative analysis to quantitative analysis (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Probabilistic symbolic execution
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Hi-index | 0.00 |
Symbolic execution is a useful technique in formal verification and testing. In this paper, we propose to use it to estimate the performance of programs. We first extract a set of paths (either randomly or systematically) from the program, and then obtain a weighted average of the performance of the paths. The weight of a path is the number of input data that drive the program to execute along the path, or the size of the input space that corresponds to the path. As compared with traditional benchmarking, the proposed approach has the benefit that it uses more points in the input space. Thus it is more representative in some sense. We illustrate the new approach with a sorting algorithm and a selection algorithm.