slumps
slumps copied to clipboard
Souper-CROW improvements
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
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!
Nice!