Work-list based and Reps tabular slicing for recursive programs.
- Worklist approach implemented through a Config flag in SummaryTable. - Unconstrained and constrained variantes (TabularAlgorithm & ConstrainedTabularAlgorithm). The constrained version features a limit to the size of the stack. - Constrained subsumed variant for efficiency (ConstrainedSubsumedTabularAlgorithm). - Efficient EdgeList (linked-list) to store edges visited through a traversal. - Bump language level to 16. - eKnife cli: added switch to use tabular algorithms. - Moved benchmarks out of eKnife and BencherTest.
Showing
- EDG/pom.xml 12 additions, 0 deletionsEDG/pom.xml
- EDG/src/main/java/edg/config/Config.java 2 additions, 1 deletionEDG/src/main/java/edg/config/Config.java
- EDG/src/main/java/edg/constraint/EdgeConstraint.java 6 additions, 5 deletionsEDG/src/main/java/edg/constraint/EdgeConstraint.java
- EDG/src/main/java/edg/graph/EDG.java 0 additions, 5 deletionsEDG/src/main/java/edg/graph/EDG.java
- EDG/src/main/java/edg/slicing/ConstrainedAlgorithm.java 11 additions, 3 deletionsEDG/src/main/java/edg/slicing/ConstrainedAlgorithm.java
- EDG/src/main/java/edg/slicing/ConstrainedSubsumedTabularAlgorithm.java 22 additions, 0 deletions...java/edg/slicing/ConstrainedSubsumedTabularAlgorithm.java
- EDG/src/main/java/edg/slicing/ConstrainedTabularAlgorithm.java 289 additions, 0 deletions...rc/main/java/edg/slicing/ConstrainedTabularAlgorithm.java
- EDG/src/main/java/edg/slicing/EdgeList.java 207 additions, 0 deletionsEDG/src/main/java/edg/slicing/EdgeList.java
- EDG/src/main/java/edg/slicing/OnePassConstrainedAlgorithm.java 14 additions, 15 deletions...rc/main/java/edg/slicing/OnePassConstrainedAlgorithm.java
- EDG/src/main/java/edg/slicing/PDA.java 11 additions, 15 deletionsEDG/src/main/java/edg/slicing/PDA.java
- EDG/src/main/java/edg/slicing/Phase.java 1 addition, 1 deletionEDG/src/main/java/edg/slicing/Phase.java
- EDG/src/main/java/edg/slicing/SummaryTable.java 184 additions, 31 deletionsEDG/src/main/java/edg/slicing/SummaryTable.java
- EDG/src/main/java/edg/slicing/TabularAlgorithm.java 174 additions, 0 deletionsEDG/src/main/java/edg/slicing/TabularAlgorithm.java
- EDG/src/main/java/edg/work/EdgeWork.java 3 additions, 5 deletionsEDG/src/main/java/edg/work/EdgeWork.java
- EDG/src/main/java/edg/work/NodeWork.java 5 additions, 7 deletionsEDG/src/main/java/edg/work/NodeWork.java
- EDG/src/main/java/edg/work/Work.java 6 additions, 5 deletionsEDG/src/main/java/edg/work/Work.java
- e-Knife/pom.xml 8 additions, 0 deletionse-Knife/pom.xml
- e-Knife/src/main/java/eknife/BencherTest.java 0 additions, 73 deletionse-Knife/src/main/java/eknife/BencherTest.java
- e-Knife/src/main/java/eknife/EKnife.java 7 additions, 525 deletionse-Knife/src/main/java/eknife/EKnife.java
- e-Knife/src/test/java/eknife/benchmark/AbstractBenchmark.java 161 additions, 0 deletions...ife/src/test/java/eknife/benchmark/AbstractBenchmark.java
Loading
Please register or sign in to comment