X-Git-Url: http://plrg.eecs.uci.edu/git/?p=repair.git;a=blobdiff_plain;f=Repair%2FRepairCompiler%2FMCC%2FIR%2FTermination.java;h=0d074f6a3146bdfeeb19e50c5852878ff4198d2d;hp=0a0859c18b0a787fe8f43b39f538f9fbe8dc0785;hb=23ac0c09ffe5d225de83ca4195ae5448434b0a71;hpb=54597fb35ad6948a03dddb1744c32c4e3648244b diff --git a/Repair/RepairCompiler/MCC/IR/Termination.java b/Repair/RepairCompiler/MCC/IR/Termination.java index 0a0859c..0d074f6 100755 --- a/Repair/RepairCompiler/MCC/IR/Termination.java +++ b/Repair/RepairCompiler/MCC/IR/Termination.java @@ -73,20 +73,20 @@ public class Termination { generateconjunctionnodes(); constraintdependence=new ConstraintDependence(state,this); - debugmsg("Generating scope nodes"); + debugmsg("*****Generating scope nodes*****"); generatescopenodes(); - debugmsg("Generating repair nodes"); + debugmsg("*****Generating repair nodes*****"); generaterepairnodes(); - debugmsg("Generating data structure nodes"); + debugmsg("*****Generating data structure nodes*****"); generatedatastructureupdatenodes(); - debugmsg("Generating compensation nodes"); + debugmsg("*****Generating compensation nodes*****"); if (!Compiler.OMITCOMP) generatecompensationnodes(); - debugmsg("Generating abstract edges"); + debugmsg("*****Generating abstract edges*****"); generateabstractedges(); - debugmsg("Generating scope edges"); + debugmsg("*****Generating scope edges*****"); generatescopeedges(); - debugmsg("Generating update edges"); + debugmsg("*****Generating update edges*****"); generateupdateedges(); @@ -243,22 +243,22 @@ public class Termination { TupleOfExpr toe=(TupleOfExpr)e; if (negated) { GraphNode agn=(GraphNode)abstractremove.get(toe.relation); - GraphNode.Edge edge=new GraphNode.Edge("requires",agn); + GraphNode.Edge edge=new GraphNode.Edge("requirestupleremove",agn); gn.addEdge(edge); } else { GraphNode agn=(GraphNode)abstractadd.get(toe.relation); - GraphNode.Edge edge=new GraphNode.Edge("requires",agn); + GraphNode.Edge edge=new GraphNode.Edge("requirestupleadd",agn); gn.addEdge(edge); } } else if (e instanceof ElementOfExpr) { ElementOfExpr eoe=(ElementOfExpr)e; if (negated) { GraphNode agn=(GraphNode)abstractremove.get(eoe.set); - GraphNode.Edge edge=new GraphNode.Edge("requires",agn); + GraphNode.Edge edge=new GraphNode.Edge("requireselementremove",agn); gn.addEdge(edge); } else { GraphNode agn=(GraphNode)abstractadd.get(eoe.set); - GraphNode.Edge edge=new GraphNode.Edge("requires",agn); + GraphNode.Edge edge=new GraphNode.Edge("requireselementadd",agn); gn.addEdge(edge); } } else throw new Error("Unrecognized Abstract Update"); @@ -268,14 +268,20 @@ public class Termination { /* Cycle through the rules to look for possible conflicts */ for(int i=0;i"+((GraphNode)scopesatisfy.get(r)).getLabel()); + } if (concreteinterferes.interferes(mun,r,true)) { GraphNode scopenode=(GraphNode)scopesatisfy.get(r); - GraphNode.Edge e=new GraphNode.Edge("interferes",scopenode); + GraphNode.Edge e=new GraphNode.Edge("satisfyscopeinterferes",scopenode); gn.addEdge(e); } + if (Compiler.DEBUGGRAPH) { + System.out.println(gn.getLabel()+"--->"+((GraphNode)scopefalsify.get(r)).getLabel()); + } if (concreteinterferes.interferes(mun,r,false)) { GraphNode scopenode=(GraphNode)scopefalsify.get(r); - GraphNode.Edge e=new GraphNode.Edge("interferes",scopenode); + GraphNode.Edge e=new GraphNode.Edge("falsifyscopeinterferes",scopenode); gn.addEdge(e); } } @@ -298,7 +304,7 @@ public class Termination { if (abstractinterferes.checkrelationconstraint(ar, cons)) continue; if (AbstractInterferes.interferesquantifier(ar,cons)) { - GraphNode.Edge e=new GraphNode.Edge("interferes",gn2); + GraphNode.Edge e=new GraphNode.Edge("interferesquantifier",gn2); gn.addEdge(e); } else { for(int i=0;i