d="m 279.38359,389.88064 c 0,-3.6187 -2.49338,-6.55338 -6.59751,-6.55338 -3.97173,0 -6.5975,2.93468 -6.5975,6.55338 0,3.61869 2.62577,6.5975 6.5975,6.5975 3.88348,0 6.59751,-2.49337 6.59751,-6.5975 m -12.18001,14.82784 v 44.26286 c 0,5.56044 -3.6849,8.16414 -7.98762,8.6937 v 10.43686 c 9.90729,-1.015 19.15263,-5.51632 19.15263,-19.52773 v -43.86569 h -11.16501"
d="m 383.09021,391.77825 v 40.5559 c 0,9.33359 3.44218,16.39447 13.19501,16.39447 5.84728,0 8.95849,-2.00793 11.40773,-3.90554 v -9.57632 c -2.22859,1.12533 -6.15621,3.37598 -9.57632,3.37598 -4.25858,0 -4.58957,-3.44218 -4.58957,-8.58337 v -13.4598 l 11.40773,-1.91967 v -8.62751 l -11.40773,2.03 v -19.81458 l -10.43685,3.53044"
d="m 82.6262,243.321 c 0,0 -11.9391,7.2672 8.30525,9.34351 24.3967,3.11437 37.3741,2.59576 64.3663,-2.59534 0,0 7.2672,4.67165 17.1297,8.30546 -60.7327,25.9542 -137.557,-1.5577 -89.8013,-15.0536 z m -7.78643,-33.7402 c 0,0 -12.9769,9.86233 7.2672,11.9386 26.4735,2.59576 47.2368,3.11437 83.0534,-4.15263 0,0 4.67186,5.19089 12.4579,7.78643 -73.1906,21.8016 -155.206,2.07631 -102.778,-15.5725 z m 143.267,59.1754 c 0,0 8.82449,7.26741 -9.86254,12.9769 -34.7787,10.3818 -145.863,13.4961 -177.008,0 -10.9006,-4.67144 9.86275,-11.4198 16.6105,-12.4579 6.74817,-1.55708 10.3816,-1.55708 10.3816,-1.55708 -11.9384,-8.30546 -79.4195,17.1295 -34.2595,24.3967 124.061,20.2443 226.321,-8.82428 194.137,-23.3587 z M 88.33577,174.283 c 0,0 -56.5799,13.4961 -20.2439,18.1678 15.5725,2.0761 46.1983,1.5575 74.7481,-0.51903 23.3585,-2.07631 46.7176,-6.22894 46.7176,-6.22894 0,0 -8.30546,3.63339 -14.0156,7.26741 -57.6179,15.053 -168.183,8.30504 -136.519,-7.26741 26.9923,-12.9773 49.3125,-11.4198 49.3125,-11.4198 z m 101.222,56.5799 c 58.1372,-30.1069 31.1451,-59.1754 12.4579,-55.5416 -4.67186,1.03805 -6.74817,2.07631 -6.74817,2.07631 0,0 1.55729,-3.11457 5.19068,-4.15263 36.8552,-12.9773 65.9238,38.9309 -11.9384,59.1752 0,0 0.51861,-0.51903 1.03805,-1.55729 z m -95.5117,82.0153 c 56.0613,3.63381 141.71,-2.07631 143.786,-28.5494 0,0 -4.15242,10.3818 -46.1981,18.1676 -47.7558,8.8247 -106.931,7.78643 -141.71,2.07631 0,0 7.26699,6.22915 44.122,8.30546 z"
id="_227268128"
style="fill:#4e7896"/>
<path
d="m 154.26,2.98539 c 0,0 32.1832,32.7022 -30.6261,82.0153 -50.3512,39.9692 -11.4198,62.8088 0,88.7629 -29.5878,-26.4728 -50.8702,-49.8319 -36.336,-71.6335 21.2828,-32.1832 79.939,-47.7554 66.9621,-99.1446 z m -16.6105,148.977 c 15.053,17.1299 -4.15283,32.7026 -4.15283,32.7026 0,0 38.4121,-19.7253 20.7633,-44.1224 -16.0919,-23.3585 -28.5498,-34.7783 38.9311,-73.7098 0,0 -106.412,26.4735 -55.5416,85.1297 z m -38.4123,278.748 v -50.8702 c 0,-12.9775 -7.2672,-21.8016 -25.4354,-21.8016 -10.3816,0 -19.2061,2.59534 -26.9925,5.7097 l 2.59576,9.34351 c 5.7097,-2.07631 12.9769,-4.15283 20.7633,-4.15283 9.86254,0 14.5342,4.15283 14.5342,12.4583 v 6.74817 h -5.19068 c -24.9162,0 -36.336,9.34351 -36.336,24.3967 0,12.4581 7.78623,19.7253 21.8016,19.7253 8.82428,0 15.5727,-4.15283 21.8016,-9.34351 l 1.03826,7.78643 h 11.4198 z m -14.5346,-16.6109 c -5.19068,4.67165 -10.9008,7.26741 -16.0917,7.26741 -6.74776,0 -10.9004,-4.15263 -10.9004,-11.4198 0,-7.26741 4.15263,-12.4581 20.7633,-12.4581 h 6.22873 v 16.6105 z m 63.3285,16.6109 h -18.1684 l -21.8014,-71.1147 h 15.5727 l 13.4961,43.603 3.11437,12.9771 c 6.74817,-18.6868 11.9393,-37.8933 14.0156,-56.5801 h 15.5725 c -4.15263,23.3589 -11.4196,48.7937 -21.8014,71.1147 z m 84.0914,0 v -50.8702 c 0,-12.9775 -7.2672,-21.8016 -25.4352,-21.8016 -10.3818,0 -19.2061,2.59534 -26.9925,5.7097 l 2.07652,9.34351 c 6.22894,-2.07631 13.4961,-4.15283 21.2826,-4.15283 9.86254,0 14.5342,4.15283 14.5342,12.4583 v 6.74817 h -5.19068 c -24.9162,0 -36.336,9.34351 -36.336,24.3967 0,12.4581 7.2672,19.7253 21.2824,19.7253 9.34351,0 16.0917,-4.15283 22.3208,-9.34351 l 1.03826,7.78643 h 11.4196 z m -14.5344,-16.6109 c -5.19068,4.67165 -10.9008,7.26741 -16.0919,7.26741 -6.74776,0 -10.9004,-4.15263 -10.9004,-11.4198 0,-7.26741 4.15263,-12.4581 20.7633,-12.4581 h 6.22894 v 16.6105 z m -190.504,28.5496 c -4.15263,6.22894 -10.3818,10.901 -18.1676,13.4961 l -6.74838,-8.30546 c 5.19068,-3.11437 10.3818,-7.78581 12.4579,-11.9386 2.07631,-3.6336 2.59576,-8.8247 2.59576,-20.7633 v -80.977 h 15.5725 v 79.9388 c 0,16.0915 -1.55729,22.3204 -5.71012,28.5496 z"
d="m 82.6262,243.321 c 0,0 -11.9391,7.2672 8.30525,9.34351 24.3967,3.11437 37.3741,2.59576 64.3663,-2.59534 0,0 7.2672,4.67165 17.1297,8.30546 -60.7327,25.9542 -137.557,-1.5577 -89.8013,-15.0536 z m -7.78643,-33.7402 c 0,0 -12.9769,9.86233 7.2672,11.9386 26.4735,2.59576 47.2368,3.11437 83.0534,-4.15263 0,0 4.67186,5.19089 12.4579,7.78643 -73.1906,21.8016 -155.206,2.07631 -102.778,-15.5725 z m 143.267,59.1754 c 0,0 8.82449,7.26741 -9.86254,12.9769 -34.7787,10.3818 -145.863,13.4961 -177.008,0 -10.9006,-4.67144 9.86275,-11.4198 16.6105,-12.4579 6.74817,-1.55708 10.3816,-1.55708 10.3816,-1.55708 -11.9384,-8.30546 -79.4195,17.1295 -34.2595,24.3967 124.061,20.2443 226.321,-8.82428 194.137,-23.3587 z M 88.33577,174.283 c 0,0 -56.5799,13.4961 -20.2439,18.1678 15.5725,2.0761 46.1983,1.5575 74.7481,-0.51903 23.3585,-2.07631 46.7176,-6.22894 46.7176,-6.22894 0,0 -8.30546,3.63339 -14.0156,7.26741 -57.6179,15.053 -168.183,8.30504 -136.519,-7.26741 26.9923,-12.9773 49.3125,-11.4198 49.3125,-11.4198 z m 101.222,56.5799 c 58.1372,-30.1069 31.1451,-59.1754 12.4579,-55.5416 -4.67186,1.03805 -6.74817,2.07631 -6.74817,2.07631 0,0 1.55729,-3.11457 5.19068,-4.15263 36.8552,-12.9773 65.9238,38.9309 -11.9384,59.1752 0,0 0.51861,-0.51903 1.03805,-1.55729 z m -95.5117,82.0153 c 56.0613,3.63381 141.71,-2.07631 143.786,-28.5494 0,0 -4.15242,10.3818 -46.1981,18.1676 -47.7558,8.8247 -106.931,7.78643 -141.71,2.07631 0,0 7.26699,6.22915 44.122,8.30546 z"
id="_227268128-7"
style="fill:#4e7896"/>
<path
d="m 154.26,2.98539 c 0,0 32.1832,32.7022 -30.6261,82.0153 -50.3512,39.9692 -11.4198,62.8088 0,88.7629 -29.5878,-26.4728 -50.8702,-49.8319 -36.336,-71.6335 21.2828,-32.1832 79.939,-47.7554 66.9621,-99.1446 z m -16.6105,148.977 c 15.053,17.1299 -4.15283,32.7026 -4.15283,32.7026 0,0 38.4121,-19.7253 20.7633,-44.1224 -16.0919,-23.3585 -28.5498,-34.7783 38.9311,-73.7098 0,0 -106.412,26.4735 -55.5416,85.1297 z m -38.4123,278.748 v -50.8702 c 0,-12.9775 -7.2672,-21.8016 -25.4354,-21.8016 -10.3816,0 -19.2061,2.59534 -26.9925,5.7097 l 2.59576,9.34351 c 5.7097,-2.07631 12.9769,-4.15283 20.7633,-4.15283 9.86254,0 14.5342,4.15283 14.5342,12.4583 v 6.74817 h -5.19068 c -24.9162,0 -36.336,9.34351 -36.336,24.3967 0,12.4581 7.78623,19.7253 21.8016,19.7253 8.82428,0 15.5727,-4.15283 21.8016,-9.34351 l 1.03826,7.78643 h 11.4198 z m -14.5346,-16.6109 c -5.19068,4.67165 -10.9008,7.26741 -16.0917,7.26741 -6.74776,0 -10.9004,-4.15263 -10.9004,-11.4198 0,-7.26741 4.15263,-12.4581 20.7633,-12.4581 h 6.22873 v 16.6105 z m 63.3285,16.6109 h -18.1684 l -21.8014,-71.1147 h 15.5727 l 13.4961,43.603 3.11437,12.9771 c 6.74817,-18.6868 11.9393,-37.8933 14.0156,-56.5801 h 15.5725 c -4.15263,23.3589 -11.4196,48.7937 -21.8014,71.1147 z m 84.0914,0 v -50.8702 c 0,-12.9775 -7.2672,-21.8016 -25.4352,-21.8016 -10.3818,0 -19.2061,2.59534 -26.9925,5.7097 l 2.07652,9.34351 c 6.22894,-2.07631 13.4961,-4.15283 21.2826,-4.15283 9.86254,0 14.5342,4.15283 14.5342,12.4583 v 6.74817 h -5.19068 c -24.9162,0 -36.336,9.34351 -36.336,24.3967 0,12.4581 7.2672,19.7253 21.2824,19.7253 9.34351,0 16.0917,-4.15283 22.3208,-9.34351 l 1.03826,7.78643 h 11.4196 z m -14.5344,-16.6109 c -5.19068,4.67165 -10.9008,7.26741 -16.0919,7.26741 -6.74776,0 -10.9004,-4.15263 -10.9004,-11.4198 0,-7.26741 4.15263,-12.4581 20.7633,-12.4581 h 6.22894 v 16.6105 z m -190.504,28.5496 c -4.15263,6.22894 -10.3818,10.901 -18.1676,13.4961 l -6.74838,-8.30546 c 5.19068,-3.11437 10.3818,-7.78581 12.4579,-11.9386 2.07631,-3.6336 2.59576,-8.8247 2.59576,-20.7633 v -80.977 h 15.5725 v 79.9388 c 0,16.0915 -1.55729,22.3204 -5.71012,28.5496 z"
`RAGO` is the first REST API fuzzing framework modeled in RAG (JastAdd).
`RAGO` parses the OpenAPI specification in Java to transfer it into
a RAG and produces requests that automatically test the target API.
`RAGO` is the first REST API fuzzing tool modeled in [JastAdd](https://jastadd.cs.lth.se/).
First of all, This tool parses [an OpenAPI specification (Swagger)](https://swagger.io/specification/) in Java classes and transfers it into JastAdd Objects. These Objects are able to be re-transformed and saved in JSON which describes its API Specification, if needed.

- Short mention of RAG
- Short mention of OpenAPI
After a parsing phase, `RAGO` is prepared to generate tests automatically in two different ways based on Fuzzing, `Random Testing` and `Parameter Inference`