Skip to content

Commit bcff5ad

Browse files
committed
Added script to calculate mean, std, max, min code coverage for generated sequences
1 parent ddc0869 commit bcff5ad

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import logging
2+
import os
3+
4+
import click
5+
import numpy as np
6+
7+
from utils.setup_utils import initialize_logger
8+
9+
10+
@click.command()
11+
@click.option("-d", "--dir", "dataset_dir", type=str, required=True,
12+
help="Path to a directory containing one or more generated sequences")
13+
def main(dataset_dir: str):
14+
logger, _ = initialize_logger()
15+
logger.setLevel(logging.INFO)
16+
17+
sequence_dirs = os.listdir(dataset_dir)
18+
sequence_dirs.sort()
19+
20+
achieved_code_coverages = []
21+
22+
for seq_dir in sequence_dirs:
23+
sequence_data = np.load(os.path.join(dataset_dir, seq_dir, "data.npz"))
24+
code_coverage = np.sum(sequence_data["rewards"])
25+
26+
achieved_code_coverages.append(code_coverage)
27+
28+
logging.info(f"Calculated code coverages for sequences in '{dataset_dir}'")
29+
logging.info(f"Mean {np.mean(achieved_code_coverages)} - Stddev {np.std(achieved_code_coverages)} - "
30+
f"Max {np.max(achieved_code_coverages)} - Min {np.min(achieved_code_coverages)}")
31+
32+
33+
if __name__ == "__main__":
34+
main()
35+

0 commit comments

Comments
 (0)