X-Git-Url: http://plrg.eecs.uci.edu/git/?p=repair.git;a=blobdiff_plain;f=Repair%2FRepairCompiler%2FMCC%2FIR%2FTermination.java;h=046e06062ba0481f9f21aa9a4d270f8475c9dc02;hp=0a0859c18b0a787fe8f43b39f538f9fbe8dc0785;hb=494b62b8ddfc3c3a7282aab4ad96d0e10fb1d1bc;hpb=38706bcbe3752535688ea2a5817e20c71315aa28 diff --git a/Repair/RepairCompiler/MCC/IR/Termination.java b/Repair/RepairCompiler/MCC/IR/Termination.java index 0a0859c..046e060 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