cqfn / aibolit

Static Analyzer for Java Code with Machine Learning in Mind
https://pypi.org/project/aibolit/
51 stars 17 forks source link

Fix docs in aibolit #610

Closed lyriccoder closed 4 years ago

lyriccoder commented 4 years ago

Please specify the following in the description:

  1. Fix #608
  2. Docs are updated
lyriccoder commented 4 years ago

@yegor256 is it ok now?

yegor256 commented 4 years ago

@lyriccoder it's better, but the functionality of --exclude is still very weird.

lyriccoder commented 4 years ago

@yegor256 you have forgotten again, you asked to do it:

https://github.com/cqfn/aibolit/issues/363#issuecomment-646545392

yegor256 commented 4 years ago

@lyriccoder it seems I made a mistake in the specification, sorry. I will make a ticket about it now.

acheshkov commented 4 years ago

@rultor merge

rultor commented 4 years ago

@rultor merge

@acheshkov OK, I'll try to merge now. You can check the progress of the merge here

rultor commented 4 years ago

@rultor merge

@acheshkov @lyriccoder Oops, I failed. You can see the full log here (spent 42min)

  each_block_type = ast.get_type(each_block)
/home/r/repo/aibolit/metrics/cognitiveC/cognitive_c.py:76: DeprecationWarning: Call to deprecated method get_type. (Use ASTNode functionality instead.)
  assert(ast.get_type(node) == ASTNodeType.METHOD_INVOCATION)
/home/r/repo/aibolit/metrics/cognitiveC/cognitive_c.py:93: DeprecationWarning: Call to deprecated method get_binary_operation_name. (Use ASTNode functionality instead.)
  bin_operator = ast.get_binary_operation_name(each_block)
/home/r/repo/aibolit/ast_framework/ast.py:149: DeprecationWarning: Call to deprecated method get_type. (Use ASTNode functionality instead.)
  assert(self.get_type(node) == ASTNodeType.BINARY_OPERATION)
/home/r/repo/aibolit/ast_framework/ast.py:150: DeprecationWarning: Call to deprecated method children_with_type. (Use ASTNode functionality instead.)
  name_node, = islice(self.children_with_type(node, ASTNodeType.STRING), 1)
/home/r/repo/aibolit/ast_framework/ast.py:151: DeprecationWarning: Call to deprecated method get_attr. (Use ASTNode functionality instead.)
  return self.get_attr(name_node, 'string')
./home/r/repo/aibolit/metrics/cognitiveC/cognitive_c.py:49: DeprecationWarning: Call to deprecated method get_type. (Use ASTNode functionality instead.)
  if ast.get_type(all_childs[2]) == ASTNodeType.IF_STATEMENT:
.../home/r/repo/aibolit/metrics/cognitiveC/cognitive_c.py:64: DeprecationWarning: Call to deprecated method get_type. (Use ASTNode functionality instead.)
  if ast.get_type(binary_operation_node) != ASTNodeType.BINARY_OPERATION:
/home/r/repo/aibolit/metrics/cognitiveC/cognitive_c.py:67: DeprecationWarning: Call to deprecated method get_binary_operation_params. (Use ASTNode functionality instead.)
  operator, left_side_node, right_side_node = ast.get_binary_operation_params(binary_operation_node)
/home/r/repo/aibolit/ast_framework/ast.py:214: DeprecationWarning: Call to deprecated method get_type. (Use ASTNode functionality instead.)
  assert(self.get_type(binary_operation_node) == ASTNodeType.BINARY_OPERATION)
/home/r/repo/aibolit/ast_framework/ast.py:216: DeprecationWarning: Call to deprecated method get_attr. (Use ASTNode functionality instead.)
  return BinaryOperationParams(self.get_attr(operation_node, 'string'), left_side_node, right_side_node)
..............sss..................sss................................sssssss......................................................................sssssssssssssss.............................sssssssssssss.......ss.........................................................................................................................................Number of features:  33
../home/r/repo/test/utils/test_cfg_builder.py:32: DeprecationWarning: Call to deprecated class JavaPackage. (This functionality must be transmitted to ASTNode)
  java_package = JavaPackage(Path(__file__).parent.absolute() / 'SimpleClass.java')
..ssssssssss
----------------------------------------------------------------------
Ran 400 tests in 22.392s

OK (skipped=55)
python3 aibolit --version
Version 1.2.6rc1 is available, but you are using 0.0.0
aibolit 0.0.0
xcop 
python3 -m test.integration.all
Processed files in testing:

  0% 0/176 [00:00<?, ?it/s]
  1% 1/176 [00:02<06:46,  2.32s/it]
  1% 2/176 [00:03<05:56,  2.05s/it]
  2% 3/176 [00:04<04:30,  1.57s/it]
  2% 4/176 [00:07<06:08,  2.14s/it]
  3% 5/176 [00:07<04:29,  1.58s/it]
  3% 6/176 [00:10<05:19,  1.88s/it]
  4% 7/176 [00:10<04:02,  1.44s/it]
  5% 8/176 [00:11<03:27,  1.23s/it]
  5% 9/176 [00:13<04:21,  1.56s/it]
  6% 10/176 [00:14<03:39,  1.32s/it]
  6% 11/176 [00:14<02:44,  1.00it/s]
  7% 12/176 [00:16<03:19,  1.21s/it]
  7% 13/176 [00:17<02:34,  1.05it/s]
  8% 14/176 [00:18<03:15,  1.21s/it]
  9% 15/176 [00:19<02:59,  1.12s/it]
  9% 16/176 [00:20<02:45,  1.03s/it]
 10% 17/176 [00:33<12:33,  4.74s/it]
 10% 18/176 [00:34<09:08,  3.47s/it]
 11% 19/176 [00:36<07:32,  2.88s/it]
 11% 20/176 [00:36<05:50,  2.25s/it]
 12% 21/176 [00:38<05:07,  1.98s/it]
 12% 22/176 [00:47<10:26,  4.07s/it]
 13% 23/176 [00:47<07:25,  2.91s/it]
 14% 24/176 [00:51<08:15,  3.26s/it]
 14% 25/176 [00:51<05:59,  2.38s/it]
 15% 26/176 [00:55<06:44,  2.70s/it]
 15% 27/176 [00:55<04:54,  1.98s/it]
 16% 28/176 [00:58<05:36,  2.27s/it]
 16% 29/176 [00:58<04:04,  1.66s/it]
 17% 30/176 [01:05<07:49,  3.22s/it]
 18% 31/176 [01:06<06:20,  2.62s/it]
 18% 32/176 [01:08<05:33,  2.31s/it]
 19% 33/176 [01:10<05:12,  2.18s/it]
 19% 34/176 [01:10<04:02,  1.71s/it]
 20% 35/176 [01:11<03:37,  1.54s/it]
 20% 36/176 [01:14<04:34,  1.96s/it]
 21% 37/176 [01:16<04:17,  1.85s/it]
 22% 38/176 [01:17<03:44,  1.63s/it]
 22% 39/176 [01:21<05:21,  2.35s/it]
 23% 40/176 [01:26<07:06,  3.13s/it]
 23% 41/176 [01:28<05:54,  2.63s/it]
 24% 42/176 [01:42<13:29,  6.04s/it]
 24% 43/176 [01:45<11:48,  5.33s/it]
 25% 44/176 [01:45<08:23,  3.81s/it]
 26% 45/176 [01:46<06:21,  2.91s/it]
 26% 46/176 [01:47<04:40,  2.16s/it]
 27% 47/176 [01:47<03:29,  1.62s/it]
 27% 48/176 [01:52<05:34,  2.62s/it]
 28% 49/176 [01:54<05:00,  2.36s/it]
 28% 50/176 [01:54<03:49,  1.82s/it]
 29% 51/176 [02:27<23:23, 11.23s/it]
 30% 52/176 [02:34<20:11,  9.77s/it]
 30% 53/176 [02:34<14:13,  6.94s/it]
 31% 54/176 [03:00<25:42, 12.64s/it]
 31% 55/176 [03:07<22:00, 10.91s/it]
 32% 56/176 [03:12<18:03,  9.03s/it]
 32% 57/176 [03:14<14:06,  7.11s/it]
 33% 58/176 [03:15<09:57,  5.06s/it]
 34% 59/176 [03:25<13:01,  6.68s/it]
 34% 60/176 [03:28<10:39,  5.51s/it]
 35% 61/176 [03:28<07:45,  4.05s/it]
 35% 62/176 [03:29<05:36,  2.95s/it]
 36% 63/176 [03:29<04:07,  2.19s/it]
 36% 64/176 [03:33<05:00,  2.68s/it]
 37% 65/176 [03:40<07:28,  4.04s/it]
 38% 66/176 [03:43<06:49,  3.73s/it]
 38% 67/176 [04:03<15:36,  8.60s/it]
 39% 68/176 [04:25<22:41, 12.61s/it]
 39% 69/176 [04:26<16:26,  9.22s/it]
 40% 70/176 [04:32<14:22,  8.14s/it]
 40% 71/176 [04:33<10:18,  5.89s/it]
 41% 72/176 [04:38<09:48,  5.66s/it]
 41% 73/176 [04:38<07:01,  4.09s/it]
 42% 74/176 [04:39<05:27,  3.21s/it]
 43% 75/176 [04:41<04:31,  2.69s/it]
 43% 76/176 [04:41<03:13,  1.93s/it]
 44% 77/176 [04:56<09:23,  5.69s/it]
 44% 78/176 [04:56<06:37,  4.06s/it]
 45% 79/176 [04:57<05:01,  3.11s/it]
 45% 80/176 [05:01<05:41,  3.56s/it]
 46% 81/176 [05:02<04:02,  2.55s/it]
 47% 82/176 [05:04<04:07,  2.64s/it]
 47% 83/176 [05:07<04:02,  2.60s/it]
 48% 84/176 [05:09<03:40,  2.40s/it]
 48% 85/176 [05:12<03:56,  2.60s/it]
 49% 86/176 [05:29<10:22,  6.91s/it]
 49% 87/176 [05:31<08:06,  5.47s/it]
 50% 88/176 [05:32<05:58,  4.07s/it]
 51% 89/176 [05:37<06:13,  4.30s/it]
 51% 90/176 [05:37<04:42,  3.28s/it]
 52% 91/176 [05:40<04:10,  2.95s/it]
 52% 92/176 [05:41<03:34,  2.56s/it]
 53% 93/176 [05:54<07:40,  5.55s/it]
 53% 94/176 [05:54<05:21,  3.92s/it]
 54% 95/176 [05:55<04:01,  2.98s/it]
 55% 96/176 [05:57<03:37,  2.72s/it]
 55% 97/176 [06:01<03:57,  3.01s/it]
 56% 98/176 [06:02<03:14,  2.49s/it]
 56% 99/176 [06:06<03:49,  2.98s/it]
 57% 101/176 [06:07<02:47,  2.23s/it]
 58% 102/176 [06:09<02:44,  2.22s/it]
 59% 103/176 [06:09<01:59,  1.64s/it]
 59% 104/176 [06:10<01:44,  1.45s/it]
 60% 105/176 [06:16<03:14,  2.73s/it]
 60% 106/176 [06:44<11:49, 10.13s/it]
 61% 107/176 [06:46<08:51,  7.71s/it]
 61% 108/176 [07:20<17:40, 15.60s/it]
 62% 109/176 [07:22<12:50, 11.50s/it]
 62% 110/176 [07:22<08:56,  8.13s/it]
 63% 111/176 [07:33<09:43,  8.98s/it]
 64% 112/176 [07:35<07:24,  6.95s/it]
 64% 113/176 [07:41<06:57,  6.62s/it]
 65% 114/176 [07:42<05:05,  4.92s/it]
 65% 115/176 [07:42<03:35,  3.54s/it]
 66% 116/176 [07:43<02:45,  2.76s/it]
 66% 117/176 [08:00<06:48,  6.93s/it]
 67% 118/176 [08:00<04:44,  4.91s/it]
 68% 119/176 [08:01<03:27,  3.64s/it]
 68% 120/176 [08:01<02:27,  2.64s/it]
 69% 121/176 [08:01<01:46,  1.93s/it]
 69% 122/176 [08:13<04:32,  5.05s/it]
 70% 123/176 [08:14<03:10,  3.59s/it]
 70% 124/176 [08:26<05:17,  6.10s/it]
 71% 125/176 [08:26<03:48,  4.49s/it]
 72% 126/176 [08:28<03:07,  3.75s/it]
 72% 127/176 [08:30<02:30,  3.08s/it]
 73% 128/176 [08:35<02:52,  3.58s/it]
 73% 129/176 [08:40<03:07,  3.99s/it]
 74% 130/176 [09:35<14:48, 19.32s/it]
 74% 131/176 [09:38<10:51, 14.48s/it]
 75% 132/176 [09:53<10:44, 14.66s/it]
 76% 133/176 [09:57<08:17, 11.56s/it]
 76% 134/176 [09:58<05:49,  8.33s/it]
 77% 135/176 [10:00<04:20,  6.35s/it]
 77% 136/176 [10:00<03:01,  4.54s/it]
 78% 137/176 [10:09<03:51,  5.95s/it]
 78% 138/176 [10:11<02:52,  4.55s/it]
 79% 139/176 [10:55<10:08, 16.44s/it]
 80% 140/176 [10:58<07:26, 12.41s/it]
 80% 141/176 [11:00<05:30,  9.45s/it]
 81% 142/176 [11:02<03:58,  7.03s/it]
 81% 143/176 [11:03<02:58,  5.40s/it]
 82% 144/176 [11:11<03:10,  5.96s/it]
 82% 145/176 [11:13<02:27,  4.76s/it]
 83% 146/176 [11:19<02:42,  5.40s/it]
 84% 147/176 [11:49<06:04, 12.57s/it]
 84% 148/176 [11:50<04:16,  9.17s/it]
 85% 149/176 [11:56<03:38,  8.08s/it]
 85% 150/176 [12:01<03:08,  7.25s/it]
 86% 151/176 [12:06<02:45,  6.61s/it]
 86% 152/176 [12:11<02:26,  6.10s/it]
 87% 153/176 [12:14<02:02,  5.31s/it]
 88% 154/176 [12:16<01:31,  4.17s/it]
 88% 155/176 [12:30<02:32,  7.28s/it]
 89% 156/176 [12:34<02:06,  6.32s/it]
 89% 157/176 [12:35<01:29,  4.68s/it]
 90% 158/176 [12:36<01:03,  3.54s/it]
 90% 159/176 [12:37<00:44,  2.63s/it]
 91% 160/176 [12:41<00:49,  3.09s/it]
 91% 161/176 [12:42<00:37,  2.47s/it]
 92% 162/176 [12:45<00:36,  2.59s/it]
 93% 163/176 [12:47<00:31,  2.41s/it]
 93% 164/176 [12:52<00:39,  3.28s/it]
 94% 165/176 [12:53<00:28,  2.56s/it]
 94% 166/176 [13:02<00:44,  4.46s/it]
 95% 167/176 [13:03<00:32,  3.59s/it]
 95% 168/176 [13:34<01:33, 11.70s/it]
 96% 169/176 [13:36<01:01,  8.85s/it]
 97% 170/176 [13:42<00:48,  8.01s/it]
 97% 171/176 [13:52<00:43,  8.64s/it]
 98% 172/176 [13:54<00:26,  6.62s/it]
 98% 173/176 [13:55<00:14,  4.72s/it]
 99% 174/176 [13:55<00:06,  3.37s/it]
 99% 175/176 [13:56<00:02,  2.59s/it]
100% 176/176 [14:01<00:00,  3.47s/it]
python3 -m test.integration.test_model
Start training...
End training. Elapsed time: 615.32 secs
Features for the whole dataset: ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15', 'P16', 'P17', 'P18', 'P19', 'P20_5', 'P20_7', 'P20_11', 'P21', 'P22', 'P23', 'P24', 'P25', 'P26', 'P27', 'P28', 'P29', 'P30', 'P31', 'P32', 'M1', 'M2', 'M3_1', 'M3_2', 'M3_3', 'M3_4', 'M4', 'M5', 'M6', 'M7']
Start training...
End training. Elapsed time: 692.67 secs
Model features: Index(['P18', 'P9', 'M2', 'M5'], dtype='object')
./test/integration/test_recommend.sh
Success: aibolit check was successful
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R rultor repo
+ cd repo
+ git push origin master
remote: error: GH006: Protected branch update failed for refs/heads/master.        
remote: error: At least 1 approving review is required by reviewers with write access.        
To git@github.com:cqfn/aibolit.git
 ! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'git@github.com:cqfn/aibolit.git'
container 51898fbb0a0d91c9baf8104fb4f6bace32fa5a1d4f792d1c3dbb72cb31213b81 is dead
Wed Aug 12 12:33:32 CEST 2020
lyriccoder commented 4 years ago

@acheshkov make an approve, and then merge

acheshkov commented 4 years ago

ask @yegor256 to review

acheshkov commented 4 years ago

@rultor merge

rultor commented 4 years ago

@rultor merge

@acheshkov OK, I'll try to merge now. You can check the progress of the merge here

rultor commented 4 years ago

@rultor merge

@acheshkov Done! FYI, the full log is here (took me 49min)