-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new IcfgBuilder #690
base: dev
Are you sure you want to change the base?
Add new IcfgBuilder #690
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your work! I did not have a detailed look yet, but here are already some more general comments.
trunk/examples/settings/automizer/ForwardPredicates_IcfgBuilder.epf
Outdated
Show resolved
Hide resolved
VAL [#NULL!base=0, #NULL!offset=0] | ||
[L31] assert false; | ||
VAL [#NULL!base=0, #NULL!offset=0] | ||
[L49] CALL call ULTIMATE.init(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What has changed in the backtranslation that is relevant for this test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you fix this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was just wondering why you changed already this path and not the others.
...informatik/ultimate/plugins/generator/icfgbuilder/preferences/IcfgPreferenceInitializer.java
Show resolved
Hide resolved
...c/de/uni_freiburg/informatik/ultimate/plugins/generator/icfgbuilder/WeakestPrecondition.java
Show resolved
Hide resolved
trunk/examples/settings/automizer/ForwardPredicates_IcfgBuilder.epf
Outdated
Show resolved
Hide resolved
...e/uni_freiburg/informatik/ultimate/plugins/generator/rcfgbuilder/cfg/LargeBlockEncoding.java
Outdated
Show resolved
Hide resolved
Otherwise the StepInfo is reset, since mutable sets are used.
… when we build the new block
… startet when we build the new block" This reverts commit ba104cf.
Bugfix for cases where atomic blocks end with an IfStatement.
* Rename identifiers * Add documentation * Make method void (returned object is an argument of method)
* Rename identifiers * Add documentation * Make method void (returned object is an argument of method)
* extract method for building IcfgLocations * remove method that became obsolete
* Bugfix: Do not merge loop entry and location after invariant. * Rename identifiers
Do not copy annotations directly from original statements to edges but only to auxiliary statements. (Because annotations are copied from all statements to edges anyway.)
Unify code for prepending statements
Use assumption that mapping returns singleton except for calls.
The setting "Only consider context switches at boundaries of atomic blocks" (aka the nodatarace-LBE) is only meant to affect concurrent programs. It performs a kind of large-block encoding (LBE) that is usually not desirable for sequential programs.
105740d
to
d00bf86
Compare
IcfgBuilder is already the default anyway.
I just synced the |
@Heizmann I just noted that the old // Rationale: <code>assume true</ code> statements can be omitted, unless they
// carry attributes or indicate an overapproximation.
if (mRemoveAssumeTrueStmt && isPlainAssumeTrueStatement(st) && !isOverapproximation(st)) {
mRemovedAssumeTrueStatements++;
continue;
} This is currently not present in the |
Commits for switching from RCFGBuilder to IcfgBuilder are missing in this branch. But Frank convinced me to already start a pull request.