You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the implementation for my bachelor thesis about generating test cases for the incremental analysis I encountered the problem, that the incremental analysis contradicts the from scratch analysis. @stilscher
Replace in inital.c the init_account() function with:
init_account(bank_account*a) {
return0:
}
Create Goblint Checks:
Alternative Approach without the option --enable trans.goblint-check is described in this comment. ./goblint inital.c --enable trans.goblint-check --set trans.activated '["assert"]' && cp transformed.c inital.c ./goblint tests/regression/15-deadlock/10-account_incorrect.c --enable trans.goblint-check --set trans.activated '["assert"]'
[Error][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will fail. (transformed.c:1467:5-1467:30)
[Error][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will fail. (transformed.c:1468:5-1468:30)
[Error][Assert] Assertion "f->id == 1" will fail. (transformed.c:1469:5-1469:32)
[Error][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will fail. (transformed.c:1473:5-1473:30)
[Error][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will fail. (transformed.c:1474:5-1474:30)
[Error][Assert] Assertion "f->id == 1" will fail. (transformed.c:1475:5-1475:32)
...
[Success][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will succeed (transformed.c:1467:5-1467:30)
[Success][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will succeed (transformed.c:1468:5-1468:30)
[Warning][Assert] Assertion "f->id == 1" is unknown. (transformed.c:1469:5-1469:32)
[Success][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will succeed (transformed.c:1473:5-1473:30)
[Success][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will succeed (transformed.c:1474:5-1474:30)
[Success][Assert] Assertion "f->id == 1" will succeed (transformed.c:1475:5-1475:32)
=> The incremental analysis says that these six checks are successful/unknown and fail at the same time.
The from scratch analysis on the same file (./goblint transformed.c) just reports success:
[Success][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will succeed (transformed.c:1467:5-1467:30)
[Success][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will succeed (transformed.c:1468:5-1468:30)
[Success][Assert] Assertion "f->id == 1" will succeed (transformed.c:1469:5-1469:32)
[Success][Assert] Assertion "(unsigned long )f == (unsigned long )(& B)" will succeed (transformed.c:1473:5-1473:30)
[Success][Assert] Assertion "(unsigned long )t == (unsigned long )(& A)" will succeed (transformed.c:1474:5-1474:30)
[Success][Assert] Assertion "f->id == 1" will succeed (transformed.c:1475:5-1475:32)
The same can be reproduced with 15-deadlock/09-account_correct.c as input.
The text was updated successfully, but these errors were encountered:
During the implementation for my bachelor thesis about generating test cases for the incremental analysis I encountered the problem, that the incremental analysis contradicts the from scratch analysis. @stilscher
Reproduction:
cp tests/regression/15-deadlock/10-account_incorrect.c inital.c
inital.c
theinit_account()
function with:Create Goblint Checks:
Alternative Approach without the option
--enable trans.goblint-check
is described in this comment../goblint inital.c --enable trans.goblint-check --set trans.activated '["assert"]' && cp transformed.c inital.c
./goblint tests/regression/15-deadlock/10-account_incorrect.c --enable trans.goblint-check --set trans.activated '["assert"]'
Run incremental analysis:
./goblint inital.c --enable incremental.save
./goblint transformed.c --enable incremental.load
Here the incremental analysis report:
=> The incremental analysis says that these six checks are successful/unknown and fail at the same time.
The from scratch analysis on the same file (
./goblint transformed.c
) just reports success:The same can be reproduced with
15-deadlock/09-account_correct.c
as input.The text was updated successfully, but these errors were encountered: