Skip to content

Commit 1192345

Browse files
authored
white paper update (#581)
1 parent 2132291 commit 1192345

21 files changed

Lines changed: 1508 additions & 663 deletions

wp/how_it_works_diagram_5.jpg

70.3 KB
Loading

wp/references.bib

Lines changed: 399 additions & 22 deletions
Large diffs are not rendered by default.

wp/sections/appendix.tex

Lines changed: 425 additions & 0 deletions
Large diffs are not rendered by default.

wp/sections/available_data.tex

Lines changed: 0 additions & 36 deletions
This file was deleted.

wp/sections/conclusion.tex

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Aibolit is a recommender system that helps improve the quality of Java classes.
2+
The recommendations are learned from OSS Java projects using ML methods.
3+
Aibolit provides ranked recommendations for each specific Java class,
4+
which differs Aibolit from others style checkers and makes it unique.
5+
6+
Aibolit is an extendable system, allowing anyone to add new patterns and to
7+
increase the training dataset and thus improve the precision and usefulness
8+
of recommendations. Aibolit can also be used as a framework for analysis of
9+
patterns and to decide whether any pattern, however subjective it is, is an anti- or a pro-pattern
10+
with respect to a particular quality metric. As a complementary result,
11+
we contribute a 100K+ dataset of patterns and metrics calculated for Java classes.
12+
13+
The first version of Aibolit is relatively simple and there is room
14+
for improvement. If the anti-pattern has found, we recommend to fix all instances
15+
of the pattern in the code. Instead, we may consider each specific occurrence of the pattern.
16+
We may exploit its relative position in the structure of the code, rather than just count
17+
the frequency. Moreover, Aibolit inspects each Java class independently. But
18+
we might consider the relations between classes in the future. Furthermore,
19+
Aibolit's prediction model relies on patterns only. In order to improve the model,
20+
we have to think about additional features, for example, information about
21+
project domain or used frameworks.
22+
23+
Aibolit is a firm step toward the next generation of tools to control
24+
and improve software quality. It is a complementary tool for
25+
product owners who already use tools to manage software quality.
26+
27+
28+

wp/sections/considered.tex

Lines changed: 0 additions & 126 deletions
This file was deleted.

wp/sections/empirical_results.tex

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)