-
Notifications
You must be signed in to change notification settings - Fork 78
Closed
Labels
type: bugIssues reporting bugs or unexpected/unwanted behaviorIssues reporting bugs or unexpected/unwanted behaviorunsoundnessIssues that can lead to unsoundness or false verificationIssues that can lead to unsoundness or false verification
Description
For the following C program
void test(int *x) {
*x = 2;
}and the following SAW script
m <- llvm_load_module "test4.bc";
let setup = do {
x <- llvm_alloc_readonly (llvm_int 32);
llvm_execute_func [x];
};
llvm_verify m "test" [] true setup abc;
an error should be reported because the code writes to read-only memory. However SAW instead outputs that the proof is successful:
[01:33:31.665] Loading file "/home/bretton/Documents/github/saw-script/test/test4.saw"
[01:33:31.671] Verifying test ...
[01:33:31.683] Simulating test ...
[01:33:31.687] Checking proof obligations test ...
[01:33:31.738] Proof succeeded! test
This issue seems to only occur with the abc/w4_abc_aiger backend. The z3, w4_abc_smtlib2, w4_abc_verilog, and sbv_abc backends correctly report an error. @andreistefanescu suggests that the problem is in the translation to AIGER.
Metadata
Metadata
Assignees
Labels
type: bugIssues reporting bugs or unexpected/unwanted behaviorIssues reporting bugs or unexpected/unwanted behaviorunsoundnessIssues that can lead to unsoundness or false verificationIssues that can lead to unsoundness or false verification