Skip to content

Commit 21a4f6f

Browse files
author
martin
committed
Trace which histories have an assertion as failing or unknown
1 parent 1458009 commit 21a4f6f

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/goto-analyzer/static_verifier.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ struct static_verifier_resultt
4444
statust status;
4545
source_locationt source_location;
4646
irep_idt function_id;
47+
ai_history_baset::trace_sett unknown_histories;
48+
ai_history_baset::trace_sett false_histories;
4749
};
4850

4951
static statust
@@ -98,6 +100,14 @@ static static_verifier_resultt check_assertion(
98100
auto dp = ai.abstract_state_before(assert_location);
99101

100102
result.status = check_assertion(*dp, e, ns);
103+
if(result.status == statust::FALSE)
104+
{
105+
result.false_histories = trace_set;
106+
}
107+
else if(result.status == statust::UNKNOWN)
108+
{
109+
result.unknown_histories = trace_set;
110+
}
101111
}
102112
else
103113
{
@@ -122,9 +132,11 @@ static static_verifier_resultt check_assertion(
122132
break;
123133
case statust::FALSE:
124134
++false_traces;
135+
result.false_histories.insert(trace_ptr);
125136
break;
126137
case statust::UNKNOWN:
127138
++unknown_traces;
139+
result.unknown_histories.insert(trace_ptr);
128140
break;
129141
default:
130142
UNREACHABLE;

0 commit comments

Comments
 (0)