Evaluation of string constraint solvers in the context of Symbolic execution

Scott Kausler, Elena Sherman

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

28 Scopus citations

Abstract

Symbolic execution tools query constraint solvers for tasks such as determining the feasibility of program paths. Therefore, the effectiveness of such tools depends on their constraint solvers. Most modern constraint solvers for primitive types are efficient and accurate. However, research on constraint solvers for complex types, such as strings, is less converged. In this paper, we introduce two new solver adequacy criteria, modeling cost and accuracy, to help the user identify an adequate solver. Using these metrics and performance criterion, we evaluate four distinct string constraint solvers in the context of symbolic execution. Our results show that, depending on the needs of the user and composition of the program, one solver might be more appropriate than another. Yet, none of the solvers exhibit the best results for all programs. Hence, if resources permit, the user will benefit the most from executing all solvers in parallel and enabling communication between solvers.

Original languageEnglish
Title of host publicationASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
Pages259-270
Number of pages12
ISBN (Electronic)9781450330138
DOIs
StatePublished - 2014
Event29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014 - Vasteras, Sweden
Duration: 15 Sep 201419 Sep 2014

Publication series

NameASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering

Conference

Conference29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014
Country/TerritorySweden
CityVasteras
Period15/09/1419/09/14

Keywords

  • Constraint solver analysis
  • String constraint solving
  • Symbolic execution

Fingerprint

Dive into the research topics of 'Evaluation of string constraint solvers in the context of Symbolic execution'. Together they form a unique fingerprint.

Cite this