  We address the problem of constraint encoding explosion which hinders the
applicability of state merging in symbolic execution. Specifically, our goal is
to reduce the number of disjunctions and if-then-else expressions introduced
during state merging. The main idea is to dynamically partition the symbolic
states into merging groups according to a similar uniform structure detected in
their path constraints, which allows to efficiently encode the merged path
constraint and memory using quantifiers. To address the added complexity of
solving quantified constraints, we propose a specialized solving procedure that
reduces the solving time in many cases. Our evaluation shows that our approach
can lead to significant performance gains.
