aibolit
aibolit copied to clipboard
Static Analyzer for Java Code with Machine Learning in Mind
During semantic extraction we have to considered local variables declarations to have their declared variables in semantic.
[1.txt](https://github.com/cqfn/aibolit/files/5230161/1.txt) ``` Override @SuppressWarnings("aibolit.P31") public CompletableFuture save(final Key key, final Content content) { return CompletableFuture.supplyAsync( () -> { final Path tmp = Paths.get( this.dir.toString(), String.format("%s.%s.tmp", key.string(), UUID.randomUUID()) ); tmp.getParent().toFile().mkdirs(); return...
To provide seamless functionality with `JavalangImproved` we need to be able to provide all method statements grouped by scope.
https://github.com/cqfn/aibolit/blob/014fc731b428bc06e86b0ac258d4f36bebb2c322/wp/sections/how_aibolit_works.tex#L80 can we explain why we choose 50 and 300?
https://github.com/cqfn/aibolit/blob/1192345b396c5b26713c1420d6825997cb67cc21/wp/sections/how_aibolit_works.tex#L21-L22 If one pattern is bad, Aibolit should recommend to remove it. As declared in the end of Conclusion section: " If the anti-pattern has found, we recommend to fix...
https://github.com/cqfn/aibolit/blob/1192345b396c5b26713c1420d6825997cb67cc21/wp/sections/how_aibolit_works.tex#L18 How to compute the metric value? There is no further explanation.
Aibolit detects P21 in lines 6,7,8, but it should not, since becase the only preceding expression in super invocation. ``` 1 Group(String objectNameBase, List objectNames, 2 List> interfaceTypes) { 4...
Here we want to collect the scenarios of using aibolit package and discuss the API for end-user. Leave your comments, diagrams and text here.
- implement metric - add tests - change Pattern.md - change white paper appendix