From: jjenista Date: Wed, 24 Mar 2010 22:18:52 +0000 (+0000) Subject: bug fix in evaluating the various classes of out-of-context predicates X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f72a1348d676b68e14618bd8ca9f4576c6e5862e;p=IRC.git bug fix in evaluating the various classes of out-of-context predicates --- diff --git a/Robust/src/Analysis/Disjoint/ExistPred.java b/Robust/src/Analysis/Disjoint/ExistPred.java index 817db240..5c9e7d4f 100644 --- a/Robust/src/Analysis/Disjoint/ExistPred.java +++ b/Robust/src/Analysis/Disjoint/ExistPred.java @@ -169,6 +169,8 @@ public class ExistPred extends Canonical { this.e_srcOutCalleeContext = srcOutCalleeContext; this.e_srcOutCallerContext = srcOutCallerContext; + assert !(e_srcOutCalleeContext && e_srcOutCallerContext); + this.e_tdSrc = tdSrc; this.e_hrnSrcID = hrnSrcID; this.e_hrnDstID = hrnDstID; @@ -246,26 +248,27 @@ public class ExistPred extends Canonical { } else { + assert !(e_srcOutCalleeContext && e_srcOutCallerContext); + if( e_srcOutCalleeContext ) { - assert !e_srcOutCallerContext; if( calleeReachableNodes.contains( e_hrnSrcID ) ) { return null; } - } else { - if( !calleeReachableNodes.contains( e_hrnSrcID ) ) { - return null; - } - } - if( e_srcOutCallerContext ) { - assert !e_srcOutCalleeContext; + } else if( e_srcOutCallerContext ) { if( !hrnSrc.isOutOfContext() ) { return null; } + } else { + + if( !calleeReachableNodes.contains( e_hrnSrcID ) ) { + return null; + } if( hrnSrc.isOutOfContext() ) { return null; } + } rsn = hrnSrc; diff --git a/Robust/src/Analysis/Disjoint/ExistPredSet.java b/Robust/src/Analysis/Disjoint/ExistPredSet.java index c026624a..5f3757e4 100644 --- a/Robust/src/Analysis/Disjoint/ExistPredSet.java +++ b/Robust/src/Analysis/Disjoint/ExistPredSet.java @@ -31,6 +31,8 @@ public class ExistPredSet extends Canonical { protected Set preds; + public static boolean debug = false; + public static ExistPredSet factory() { ExistPredSet out = new ExistPredSet(); diff --git a/Robust/src/Benchmarks/disjoint/makefile b/Robust/src/Benchmarks/disjoint/makefile index 8e0d62ae..ba99f112 100644 --- a/Robust/src/Benchmarks/disjoint/makefile +++ b/Robust/src/Benchmarks/disjoint/makefile @@ -1,13 +1,16 @@ BUILDSCRIPT=~/research/Robust/src/buildscript #DEBUGFLAGS= -disjoint-debug-callsite MDRunner t3 100 -DEBUGFLAGS= -disjoint-debug-callsite calcGoodFeature calcGoodFeature 100 +#DEBUGFLAGS= -disjoint-debug-callsite calcGoodFeature calcGoodFeatureTask 100 +#DEBUGFLAGS= -disjoint-debug-callsite getRows calcGoodFeature 4 +#SNAPFLAGS= -disjoint-debug-snap-method calcGoodFeatureTask 5 10 true +#SNAPFLAGS= -disjoint-debug-snap-method calcGoodFeature 5 1 true BSFLAGS= -recover -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots final -disjoint-alias-file aliases.txt normal -enable-assertions all: - $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) *.java + $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java clean: rm -f *.bin