Skip to content

Commit 597f9a7

Browse files
author
Jérôme FERET
committed
fix the mode without iteration in the incremental analysis
1 parent 7e81bab commit 597f9a7

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

core/KaSa_rep/reachability_analysis/analyzer.ml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,13 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
126126
in
127127
error, dynamic
128128

129-
let main ?patch parameters log_info error mvbdu_handler compil kappa_handler =
129+
let main ?do_not_restart_fixpoint_computation ?patch parameters log_info error mvbdu_handler compil kappa_handler =
130+
let do_increment =
131+
match do_not_restart_fixpoint_computation with
132+
| None | Some false -> true
133+
| Some true -> false
134+
in
135+
130136
let domain_event, global_event, init_event, analysis_event, new_elts =
131137
match patch with
132138
| None ->
@@ -186,6 +192,7 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
186192
let error, dynamic =
187193
close_event parameters error global_event None dynamic
188194
in
195+
if do_increment then
189196
let error, dynamic = add_event parameters error init_event None dynamic in
190197
let error, dynamic, _ =
191198
List.fold_left
@@ -288,6 +295,10 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
288295
(Domain.get_global_dynamic_information dynamic)
289296
in
290297
error, log_info, (global_static, static), dynamic
298+
else
299+
let error,() =
300+
Exception.warn parameters error __POS__ ~message:"Iterations have not been restarted" Exit () in
301+
error, log_info, (global_static, static), dynamic
291302

292303
let update_main ?do_not_restart_fixpoint_computation
293304
parameters log_info error mvbdu_handler compil kappa_handler
@@ -297,27 +308,16 @@ module Make (Domain : Composite_domain.Composite_domain) = struct
297308
static_information,
298309
dynamic_information )
299310
Remanent_state.state) =
300-
let do_increment =
301-
match do_not_restart_fixpoint_computation with
302-
| None | Some false -> true
303-
| Some true -> false
304-
in
305311
let patch =
306312
match Remanent_state.get_reachability_result state with
307313
| None -> None
308314
| Some (static, dynamic) -> Some (static, dynamic, new_indexs)
309315
in
310316
match patch with
311317
| None -> main ?patch parameters log_info error mvbdu_handler compil kappa_handler
312-
| Some (static, dynamic,_ ) ->
313-
if do_increment then
314-
main ?patch parameters log_info error mvbdu_handler compil kappa_handler
315-
else
316-
let log = Remanent_parameters.get_logger parameters in
317-
let error,() =
318-
Exception.warn parameters error __POS__ ~message:"Iterations have not been restarted" Exit () in
319-
let error, dynamic = print (snd static) dynamic error log in
320-
error, log_info, static, dynamic
318+
| Some _ ->
319+
main ?do_not_restart_fixpoint_computation ?patch parameters log_info error mvbdu_handler compil kappa_handler
320+
321321
let main parameters log_info error mvbdu_handler compil kappa_handler =
322322
main parameters log_info error mvbdu_handler compil kappa_handler
323323

0 commit comments

Comments
 (0)