Closed ggwg closed 1 year ago
Q: Whats the standard procedure to test that this compiler change doesn't break anything?
Q: Whats the standard procedure to test that this compiler change doesn't break anything?
Obviously it should compile (esy
), and then esy test
will run a wisl verification (as well as tests for other languages, you don't need to worry about them) to check it all works out. This provides a reasonable degree of confidence, though it'd also be a good idea for you to verify a program that uses whatever compilation has been altered (we can talk about this tomorrow).
esy test
is run automatically by the build job, and I see that it's passing here.
Just realised @NatKarmios, how is this change going to affect the debugger?
As long as the annots are correct, it should all work fine. I'll happily test it once this is ready for review.
We're ready to merge that aren't we?
Ready for review. Changes since last version:
In this PR
Add invalid pointer check on property lookup for WISL compiler. (As discussed in meeting with Sacha on Feb 6)
Explanation / Evaluation
Google Doc
How to generate specs:
2 test cases are located under
wisl/examples/biabduction/
Compiler Change Example
Program Under Test
The new llen procedure should check the type of the input argument and fail with an InvalidPointer error if it is not a list. This is done by adding a type check to the beginning of the procedure. If the type check passes, then the procedure can proceed as normal.