Title: New fuzzing platform by Markoutte · Pull Request #1457 · UnitTestBot/UTBotJava · GitHub
Open Graph Title: New fuzzing platform by Markoutte · Pull Request #1457 · UnitTestBot/UTBotJava
X Title: New fuzzing platform by Markoutte · Pull Request #1457 · UnitTestBot/UTBotJava
Description: Description Adds new fuzzing platform that simplifies developing fuzzing for new languages. Old implementation is still in codebase but will be deprecated and removed soon. Only base Java implementation migrated to the new fuzzing platform at the moment. Please, see Fuzzing Platform Design doc for understanding of basic concepts. In nutshell now any work with fuzzing requires some 'seeds' or 'tasks' which can be 4 types: Simple seed is just a value with optional mutator Known [structure] seed is something that has common structure for different types, e.g. integers (byte, short, int, long) which can be represented as a bit vector. This type can be used instead of 1 to faster developing of defaults such as integers, floats, strings, etc. Recursive seed can represent some recursive structures that require to fuzz some parameters before constructing itself. Collection seed represents collections such as arrays, lists, sets, maps and others. There are some demos that clarify these concepts. This platform is fully implemented for Java and plugin can be tested with these samples. Fixes #1448 Also note, that after short discussion this implementation doesn't use mocks because it looks wrong concepts in terms of fuzzing. Fuzzing doesn't analyze the code therefore it cannot supply correct mock calls for tests. Therefore #747 is discontinued starting this PR. Type of Change Breaking change (fix or feature that would cause existing functionality to not work as expected) How Has This Been Tested? Regression and integration tests Test samples for manual testing were added. Integration test for fuzzing is being under developing. Automated Testing All tests from the utbot-fuzzer and utbot-fuzzing modules must pass. Manual Scenario Samples for manual scenario. Checklist: The change followed the style guidelines of the UTBot project Self-review of the code is passed The change contains enough commentaries, particularly in hard-to-understand areas New documentation is provided or existed one is altered No new warnings New tests have been added All tests pass locally with my changes
Open Graph Description: Description Adds new fuzzing platform that simplifies developing fuzzing for new languages. Old implementation is still in codebase but will be deprecated and removed soon. Only base Java implement...
X Description: Description Adds new fuzzing platform that simplifies developing fuzzing for new languages. Old implementation is still in codebase but will be deprecated and removed soon. Only base Java implement...
Opengraph URL: https://github.com/UnitTestBot/UTBotJava/pull/1457
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:1f4280c7-552b-a434-6d8e-bb9fda4cc850 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | EBFA:25DD03:947F7:BCFFB:699028BE |
| html-safe-nonce | bd1e89d64edb5d5bbaaadaee241172ce219f31e661fd1cebbe48c6f08e205080 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQkZBOjI1REQwMzo5NDdGNzpCQ0ZGQjo2OTkwMjhCRSIsInZpc2l0b3JfaWQiOiI2NTE5MDUwMjgzMDQwOTA5NTAyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | f589f091ba2dd9ba81e8a5b70a48271ea8565e1360e59af18f9e227aaf86f0f8 |
| hovercard-subject-tag | pull_request:1148183167 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/UnitTestBot/UTBotJava/pull/1457/checks |
| twitter:image | https://avatars.githubusercontent.com/u/720952?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/720952?s=400&v=4 |
| og:image:alt | Description Adds new fuzzing platform that simplifies developing fuzzing for new languages. Old implementation is still in codebase but will be deprecated and removed soon. Only base Java implement... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/UnitTestBot/UTBotJava git https://github.com/UnitTestBot/UTBotJava.git |
| octolytics-dimension-user_id | 87413538 |
| octolytics-dimension-user_login | UnitTestBot |
| octolytics-dimension-repository_id | 480810501 |
| octolytics-dimension-repository_nwo | UnitTestBot/UTBotJava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 480810501 |
| octolytics-dimension-repository_network_root_nwo | UnitTestBot/UTBotJava |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3b33c5aedc9808f45bc5fcf0b1e4404cf749dac7 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width