-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d57f190
commit b78bad2
Showing
8 changed files
with
183 additions
and
113 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
...e/plugins/analysis/abstractinterpretationv2/domain/transformula/vp/VPDomainBenchmark.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp; | ||
|
||
import java.util.ArrayList; | ||
|
26 changes: 26 additions & 0 deletions
26
...timate/plugins/analysis/abstractinterpretationv2/domain/transformula/vp/VPStatistics.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp; | ||
|
||
import java.util.function.BinaryOperator; | ||
|
26 changes: 26 additions & 0 deletions
26
...tractinterpretationv2/domain/transformula/vp/elements/AbstractNodeAndFunctionFactory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.elements; | ||
|
||
import de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.IEqNodeIdentifier; | ||
|
88 changes: 0 additions & 88 deletions
88
...plugins/analysis/abstractinterpretationv2/domain/transformula/vp/elements/EqFunction.java
This file was deleted.
Oops, something went wrong.
26 changes: 26 additions & 0 deletions
26
...lugins/analysis/abstractinterpretationv2/domain/transformula/vp/states/FloydWarshall.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.states; | ||
|
||
import java.util.ArrayList; | ||
|
26 changes: 26 additions & 0 deletions
26
...ugins/analysis/abstractinterpretationv2/domain/transformula/vp/states/LiteralManager.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.states; | ||
|
||
import java.util.Collection; | ||
|
26 changes: 26 additions & 0 deletions
26
...analysis/abstractinterpretationv2/domain/transformula/vp/states/WeakEquivalenceGraph.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.states; | ||
|
||
import java.util.ArrayList; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,29 @@ | ||
/* | ||
* Copyright (C) 2017 Alexander Nutz ([email protected]) | ||
* Copyright (C) 2017 University of Freiburg | ||
* | ||
* This file is part of the ULTIMATE AbstractInterpretationV2 plug-in. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU Lesser General Public License as published | ||
* by the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* The ULTIMATE AbstractInterpretationV2 plug-in is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with the ULTIMATE AbstractInterpretationV2 plug-in. If not, see <http://www.gnu.org/licenses/>. | ||
* | ||
* Additional permission under GNU GPL version 3 section 7: | ||
* If you modify the ULTIMATE AbstractInterpretationV2 plug-in, or any covered work, by linking | ||
* or combining it with Eclipse RCP (or a modified version of Eclipse RCP), | ||
* containing parts covered by the terms of the Eclipse Public License, the | ||
* licensors of the ULTIMATE AbstractInterpretationV2 plug-in grant you additional permission | ||
* to convey the resulting work. | ||
*/ | ||
package de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.transformula.vp.states; | ||
|
||
import java.util.ArrayList; | ||
|
@@ -33,9 +59,6 @@ public class WeqCongruenceClosure<ACTION extends IIcfgTransition<IcfgLocation>, | |
private final WeakEquivalenceGraph<ACTION, NODE> mWeakEquivalenceGraph; | ||
private final EqConstraintFactory<ACTION, NODE> mFactory; | ||
|
||
// private final LiteralManager<NODE> mLiteralManager; | ||
// private final Collection<NODE> mAllLiterals; | ||
|
||
private final HashRelation<Object, NODE> mNodeToDependents; | ||
|
||
/** | ||
|
@@ -48,8 +71,6 @@ public WeqCongruenceClosure(final EqConstraintFactory<ACTION, NODE> factory) { | |
assert factory != null; | ||
mWeakEquivalenceGraph = new WeakEquivalenceGraph<>(this, factory); | ||
mFactory = factory; | ||
// mLiteralManager = mFactory.getLiteralManager(); | ||
// mAllLiterals = new HashSet<>(); | ||
mNodeToDependents = new HashRelation<>(); | ||
assert sanityCheck(); | ||
} | ||
|
@@ -66,8 +87,6 @@ public WeqCongruenceClosure(final boolean isInconsistent) { | |
} | ||
mWeakEquivalenceGraph = null; | ||
mFactory = null; | ||
// mLiteralManager = null; | ||
// mAllLiterals = null; | ||
mNodeToDependents = null; | ||
} | ||
|
||
|
@@ -84,10 +103,6 @@ public WeqCongruenceClosure(final CongruenceClosure<NODE> original, | |
assert factory != null; | ||
mWeakEquivalenceGraph = new WeakEquivalenceGraph<>(this, factory); | ||
mFactory = factory; | ||
// mLiteralManager = mFactory.getLiteralManager(); | ||
// mAllLiterals = original.getAllElementRepresentatives().stream().filter(elem -> mLiteralManager.isLiteral(elem)) | ||
// .collect(Collectors.toCollection(HashSet::new)); | ||
|
||
mNodeToDependents = new HashRelation<>(); | ||
initializeNodeToDependents(original); | ||
assert sanityCheck(); | ||
|
@@ -126,9 +141,7 @@ public WeqCongruenceClosure(final WeqCongruenceClosure<ACTION, NODE> original) { | |
super(original); | ||
assert original.mFactory != null; | ||
mFactory = original.mFactory; | ||
// mLiteralManager = mFactory.getLiteralManager(); | ||
mWeakEquivalenceGraph = new WeakEquivalenceGraph<>(this, original.mWeakEquivalenceGraph); | ||
// mAllLiterals = new HashSet<>(original.mAllLiterals); | ||
mNodeToDependents = new HashRelation<>(original.mNodeToDependents); | ||
assert sanityCheck(); | ||
} | ||
|
@@ -176,24 +189,13 @@ protected boolean addElementRec(final NODE elem) { | |
return false; | ||
} | ||
|
||
// if (mLiteralManager.isLiteral(elem)) { | ||
// for (final NODE other : mLiteralManager.getDisequalities(elem, getAllLiteralElements())) { | ||
// reportDisequalityRec(elem, other); | ||
// } | ||
// mAllLiterals.add(elem); | ||
// } | ||
|
||
// executeFloydWarshallAndReportResult(); | ||
// reportAllArrayEqualitiesFromWeqGraph(); | ||
|
||
// assert weqGraphFreeOfArrayEqualities(); | ||
return true; | ||
} | ||
|
||
// private Collection<NODE> getAllLiteralElements() { | ||
// return mAllLiterals; | ||
// } | ||
|
||
@Override | ||
protected CongruenceClosure<NODE> alignElementsAndFunctions(final CongruenceClosure<NODE> otherCC) { | ||
assert !this.isInconsistent() && !otherCC.isInconsistent(); | ||
|
@@ -1235,4 +1237,4 @@ public Integer getStatistics(final VPStatistics stat) { | |
} | ||
} | ||
|
||
} | ||
} |