Skip to content

Commit 140fe5b

Browse files
committed
add design-doc of contest estimator
1 parent 55764e2 commit 140fe5b

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

utbot-junit-contest/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Contest Estimator
2+
3+
The main responsibility of Contest estimator is running UTBot on prepared projects in advance and providing some statistics such as instruction coverage.
4+
5+
There are several entry points:
6+
- [ContestEstimator.kt][ep 1] - the main entry point of Contest estimator, it runs UTBot on specified projects, calculates some statistics for target classes and projects and outputs them in a console.
7+
- [StatisticsMonitoring.kt][ep 2] - an additional entry point of Contest estimator which does the same as the previous one, but can be configured from a file and dumps output statistics to a file.
8+
It is used to [monitor and chart][monitoring] statistics every night.
9+
10+
11+
[ep 1]: src/main/kotlin/org/utbot/contest/ContestEstimator.kt
12+
[ep 2]: src/main/kotlin/org/utbot/monitoring/StatisticsMonitoring.kt
13+
[monitoring]: ../docs/NightStatisticsMonitoring.md
14+
15+
## Projects
16+
17+
There are some prepared projects in advance.
18+
19+
### Structure
20+
All available projects are placed in [resources][resources] folder.
21+
There are two folders:
22+
- [projects][projects] - consists of folders with projects' jar files.
23+
- [classes][classes] - consists of folders which are named as projects and contains `list` file with a list of fully qualified names of classes.
24+
25+
### How to add a new project?
26+
You can add jar files to the `projects` folder described above, and also add `list` file with a list of classes that will be provided to generation.
27+
28+
[resources]: src/main/resources
29+
[projects]: src/main/resources/projects
30+
[classes]: src/main/resources/classes
31+
32+
## Statistics
33+
Now statistics are collected and memorised by some classes placed in [Statistics.kt][statistics].
34+
Then [monitoring][ep 2] dumps them using auxiliary classes defined in [MonitoringReport.kt][report] which describe format of output data.
35+
36+
[statistics]: src/main/kotlin/org/utbot/contest/Statistics.kt
37+
[report]: src/main/kotlin/org/utbot/monitoring/MonitoringReport.kt

0 commit comments

Comments
 (0)