Stream: t-compiler/wg-polonius

Topic: Datalog as an oracle


Jake Goulding (Aug 07 2020 at 14:44, on Zulip):

and perhaps that means that the optimized variants don't even use datalog

One thing you could do is have datalog be the slow but readable version and use it as a testing oracle for property based testing. Then you can throw randomized code at both and ensure that they have the same results. 

lqd (Aug 07 2020 at 15:21, on Zulip):

great point, and apart from having the randomized inputs or getting them via fuzzing, we already have a way to compare two variants (which we used to test that the Naive and Optimized variants behaved similarly, but only on rustc tests)

Vytautas Astrauskas (Aug 11 2020 at 13:35, on Zulip):

Then you can throw randomized code at both and ensure that they have the same results.

Might be useful: https://ieeexplore.ieee.org/abstract/document/7372036

Jake Goulding (Aug 12 2020 at 19:56, on Zulip):

syntactically-valid and semantically-valid are just optimizations :wink:

Last update: Jun 20 2021 at 01:15UTC