You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run the GitHub project's test suites without DyLin to get test suite coverage (used in RQ4):
41
56
```bash
42
57
bash build_testcov.sh
43
58
bash run_all_testcov.sh
44
59
```
45
60
Results will be in `project_testcovs`.
61
+
For each repository a directory is created with a json file containing the detailed test coverage data.
62
+
63
+
To calculate the ratio of analysis coverage to test coverage you can run
64
+
```bash
65
+
python scripts/coverage_report.py coverage_comparison --analysis_dir <path to the subdirectory in project_results> --test_dir <path to the subdirectory in project_testcovs>
66
+
```
67
+
This generates a csv file with a summary of analysis and test coverage similar to `Supplementary_Material_FSE2025/DyLin - FSE 2025 Artifact.pdf` page 1.
46
68
47
69
Run static linters on GitHub projects (RQ3):
48
70
```bash
49
71
bash build_lint.sh
50
72
bash run_all_linters.sh
51
73
```
52
74
Results will be in `project_lints`.
75
+
For each repository a directory is created with 3 files `results_ruff.txt`, `results_pylint.txt`, and `results_mypy.txt`.
76
+
To match the warning lines from the static linters to DyLin warnings, run:
77
+
```bash
78
+
python scripts/compare_static_dynamic_linters.py --static_dir <path to the directory containing the static linter results> --dynamic <path to the text file containing DyLin's findings>
79
+
```
80
+
This will output all lines that both approaches have warned about.
53
81
54
82
Run DyLin on a Kaggle competition (RQ1):
55
83
```bash
56
84
bash build_kaggle.sh <kaggle competition id: e.g. titanic>
57
85
bash run_kaggle.sh
58
86
```
59
87
Results will be in `kaggle_results`.
88
+
For each competition a directory is created with 3 subdirectories:
89
+
- `coverage`, which contains analysis coverage information in a json file.
90
+
- `submissions`, which contains the submissions analyzed by DyLin.
91
+
- `table`, which contains the findings in a json file.
0 commit comments