|
16 | 16 | # 3. Comparing the output of steps #1 and #2 to compare the Kani-verified portion of the standard library to the overall library, |
17 | 17 | # e.g., what fraction of unsafe functions have Kani contracts. |
18 | 18 | # Note that this script assumes that std-analysis.sh and `kani list` have already run, since we expect to invoke this script from `run-kani.sh`. |
| 19 | +# Also note that the results are architecture-dependent: the standard library has functions that are only present for certain architectures, |
| 20 | +# and https://github.com/model-checking/verify-rust-std/pull/122 has Kani harnesses that only run on x86-64. |
19 | 21 |
|
20 | 22 | # Process the results from Kani's std-analysis.sh script for each crate. |
21 | 23 | # TODO For now, we just handle "core", but we should process all crates in the library. |
@@ -256,13 +258,13 @@ def plot(self): |
256 | 258 | def main(): |
257 | 259 | parser = argparse.ArgumentParser(description="Generate metrics about Kani's application to the standard library.") |
258 | 260 | parser.add_argument('--metrics-file', |
259 | | - type=str, |
260 | | - required=True, |
261 | | - help="Path to the JSON file containing metrics data") |
| 261 | + type=str, |
| 262 | + default="metrics-data.json", |
| 263 | + help="Path to the JSON file containing metrics data (default: metrics-data.json)") |
262 | 264 | parser.add_argument('--kani-list-file', |
263 | | - type=str, |
264 | | - required=True, |
265 | | - help="Path to the JSON file containing the Kani list data") |
| 265 | + type=str, |
| 266 | + default="kani-list.json", |
| 267 | + help="Path to the JSON file containing the Kani list data (default: kani-list.json)") |
266 | 268 | args = parser.parse_args() |
267 | 269 |
|
268 | 270 | metrics = KaniSTDMetricsOverTime(args.metrics_file) |
|
0 commit comments