Engine doesn't cover branch with "not instanceof" #820
Labels
comp-symbolic-engine
Issue is related to the symbolic execution engine
ctg-bug
Issue is a bug
spec-release-tailings
Failed to include in the current release, let's include it in the next one
Description
Engine generates 7 executions for this method, but doesn't cover "else" branch for condition (cs1 instanceof String && cs2 instanceof String).
It happens because of wrappers: we create an object with the only type and concrete implementation. Therefore we don't have any type to
!instanceof
branch. So we have to work with them both with concrete implementation and without. When we faceinstanceof
instruction, we should use concrete intrue
branch, otherwise use pure symbolic versionTo Reproduce
Steps to reproduce the behavior:
Expected behavior
All branches are covered.
Actual behavior
There is uncovered branch.
Visual proofs (screenshots, logs, images)
The text was updated successfully, but these errors were encountered: