@@ -5,22 +5,22 @@ use anyhow::{bail, Result};
5
5
use kani_metadata:: { CbmcSolver , HarnessMetadata } ;
6
6
use regex:: Regex ;
7
7
use rustc_demangle:: demangle;
8
+ use std:: collections:: BTreeMap ;
8
9
use std:: ffi:: OsString ;
9
10
use std:: fmt:: Write ;
10
11
use std:: path:: Path ;
11
12
use std:: process:: Command ;
12
13
use std:: sync:: OnceLock ;
13
14
use std:: time:: { Duration , Instant } ;
14
- use std:: collections:: BTreeMap ;
15
15
16
16
use crate :: args:: { OutputFormat , VerificationArgs } ;
17
17
use crate :: cbmc_output_parser:: {
18
18
extract_results, process_cbmc_output, CheckStatus , Property , VerificationOutput ,
19
19
} ;
20
20
use crate :: cbmc_property_renderer:: { format_coverage, format_result, kani_cbmc_output_filter} ;
21
21
use crate :: coverage:: cov_results:: { self , CoverageCheck , CoverageResults } ;
22
- use crate :: session:: KaniSession ;
23
22
use crate :: coverage:: cov_results:: { CoverageRegion , CoverageTerm } ;
23
+ use crate :: session:: KaniSession ;
24
24
25
25
/// We will use Cadical by default since it performed better than MiniSAT in our analysis.
26
26
/// Note: Kissat was marginally better, but it is an external solver which could be more unstable.
@@ -324,7 +324,14 @@ impl VerificationResult {
324
324
let show_checks = matches ! ( output_format, OutputFormat :: Regular ) ;
325
325
326
326
let mut result = if let Some ( cov_results) = & self . coverage_results {
327
- format_coverage ( results, cov_results, status, should_panic, failed_properties, show_checks)
327
+ format_coverage (
328
+ results,
329
+ cov_results,
330
+ status,
331
+ should_panic,
332
+ failed_properties,
333
+ show_checks,
334
+ )
328
335
} else {
329
336
format_result ( results, status, should_panic, failed_properties, show_checks)
330
337
} ;
@@ -401,7 +408,8 @@ fn determine_failed_properties(properties: &[Property]) -> FailedProperties {
401
408
}
402
409
403
410
fn coverage_results_from_properties ( properties : & [ Property ] ) -> Option < CoverageResults > {
404
- let cov_properties: Vec < & Property > = properties. iter ( ) . filter ( |p| p. is_code_coverage_property ( ) ) . collect ( ) ;
411
+ let cov_properties: Vec < & Property > =
412
+ properties. iter ( ) . filter ( |p| p. is_code_coverage_property ( ) ) . collect ( ) ;
405
413
406
414
if cov_properties. is_empty ( ) {
407
415
return None ;
@@ -439,7 +447,7 @@ fn coverage_results_from_properties(properties: &[Property]) -> Option<CoverageR
439
447
440
448
let term = CoverageTerm :: Counter ( counter_num. parse ( ) . unwrap ( ) ) ;
441
449
let region = CoverageRegion :: from_str ( span) ;
442
-
450
+
443
451
let cov_check = CoverageCheck :: new ( function, term, region, status) ;
444
452
let file = cov_check. region . file . clone ( ) ;
445
453
@@ -473,7 +481,6 @@ fn coverage_results_from_properties(properties: &[Property]) -> Option<CoverageR
473
481
}
474
482
475
483
Some ( CoverageResults :: new ( coverage_results) )
476
-
477
484
}
478
485
/// Solve Unwind Value from conflicting inputs of unwind values. (--default-unwind, annotation-unwind, --unwind)
479
486
pub fn resolve_unwind_value (
0 commit comments