JOURNAL ARTICLE

Optimizing Constraint Solving to Better Support Symbolic Execution

Abstract

Constraint solving is an integral part of symbolic execution, as most symbolic execution techniques rely heavily on an underlying constraint solver. In fact, the performance of the constraint solver used by a symbolic execution technique can considerably affect its overall performance. Unfortunately, constraint solvers are mostly used in a black-box fashion within symbolic execution, without leveraging any of the contextual and domain information available. Because constraint solvers are optimized for specific kinds of constraints and heavily based on heuristics, this leaves on the table many opportunities for optimizing the solvers' performance. To address this problem, we propose a novel optimization strategy that uses domain and contextual information to optimize the performance of constraint solvers during symbolic execution. We also present a study in which we assess the effectiveness of our and other related strategies when used within dynamic symbolic execution performed on real software. Our results are encouraging, they show that optimizing constraints based on domain and contextual information can improve the efficiency and effectiveness of constraint solving and ultimately benefit symbolic execution.

Keywords:
Computer science Symbolic execution Heuristics Constraint (computer-aided design) Solver Constraint programming Domain (mathematical analysis) Concolic testing Constraint satisfaction problem Table (database) Constraint satisfaction Theoretical computer science Programming language Mathematical optimization Software Artificial intelligence Database Mathematics

Metrics

24
Cited By
2.73
FWCI (Field Weighted Citation Impact)
11
Refs
0.91
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Software Testing and Debugging Techniques
Physical Sciences →  Computer Science →  Software
Software Engineering Research
Physical Sciences →  Computer Science →  Information Systems
Software System Performance and Reliability
Physical Sciences →  Computer Science →  Computer Networks and Communications

Related Documents

BOOK-CHAPTER

Constraint Solving and Symbolic Execution

Jian Zhang

Lecture notes in computer science Year: 2008 Pages: 539-544
JOURNAL ARTICLE

Symbolic Execution and Constraint Solving (Dagstuhl Seminar 14442)

Christian CadarVijay GaneshRaimondas SasnauskasKoushik Sen

Journal:   Leibniz-Zentrum für Informatik (Schloss Dagstuhl) Year: 2015
JOURNAL ARTICLE

Partial Solution Based Constraint Solving Cache in Symbolic Execution

Ziqi ShuaiZhenbang ChenKelin MaKang LiuYufeng ZhangJun SunJi Wang

Journal:   Proceedings of the ACM on software engineering. Year: 2024 Vol: 1 (FSE)Pages: 2493-2514
© 2026 ScienceGate Book Chapters — All rights reserved.