slumps icon indicating copy to clipboard operation
slumps copied to clipboard

Souper-CROW improvements

Open Jacarte opened this issue 4 years ago • 2 comments

The communication between Souper and CROW can be improved.

DONE in #67:

  • Souper

    • [x] Parallel processing of code blocks
    • [x] Peer2Peer socket communication with CROW if a replacement is found.
    • [x] Remove the Redis middle bridge to collect the replacements
  • CROW

    • [x] Peer2Peer socket communication with Souper to collect the replacements on the fly (as soon as it is found)

TODO:

  • [ ] Merge the Exploration and Generation stages. Start the generation as soon as replacements are found.
  • [ ] Prevent overlapping
  • [ ] Modify Souper to avoid non-valid WASM instruction during the synthesis
  • [ ] Sanitize replacements
  • [ ] Extra validation stage

Jacarte avatar Sep 10 '20 08:09 Jacarte

For muladd, with one minute for the exploration stage, CROW finds a total number of (15 + 23 + 9 + 6 + 12 + 5) valid replacements, for a tentative number of 2096640 variants. With one minute in the generation stage (34 programs generated every second), CROW builds 2081 variants, 9 unique for muladd in less than 1 minute!

Jacarte avatar Sep 10 '20 11:09 Jacarte

Nice!

monperrus avatar Sep 10 '20 11:09 monperrus