From fe9b2bd847a1afc0c19ec5c6be00f124180b9043 Mon Sep 17 00:00:00 2001 From: jjenista Date: Fri, 12 Mar 2010 19:59:57 +0000 Subject: [PATCH] a test that shows reachabiltiy states are broken --- .../Tests/disjoint/predicateTest3/makefile | 41 ++++++++++++++++++ .../Tests/disjoint/predicateTest3/test.java | 43 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 Robust/src/Tests/disjoint/predicateTest3/makefile create mode 100644 Robust/src/Tests/disjoint/predicateTest3/test.java diff --git a/Robust/src/Tests/disjoint/predicateTest3/makefile b/Robust/src/Tests/disjoint/predicateTest3/makefile new file mode 100644 index 00000000..5ecb5c3d --- /dev/null +++ b/Robust/src/Tests/disjoint/predicateTest3/makefile @@ -0,0 +1,41 @@ +PROGRAM=test + +SOURCE_FILES=$(PROGRAM).java + +BUILDSCRIPT=~/research/Robust/src/buildscript + +#DEBUGFLAGS= -disjoint-debug-callsite Bar addSomething 1 +#DEBUGFLAGS= -disjoint-debug-callsite Foo main 1 + +#DEBUGFLAGS= -disjoint-debug-callsite main analysisEntryMethod 1 +#DEBUGFLAGS= -disjoint-debug-callsite addSomething main 1 +#DEBUGFLAGS= -disjoint-debug-callsite addBar addSomething 1 +#DEBUGFLAGS= -disjoint-debug-callsite Bar addBar 1 +#DEBUGFLAGS= + +BSFLAGS= -mainclass Test -justanalyze -disjoint -disjoint-k 2 -disjoint-write-dots final -disjoint-write-ihms -disjoint-alias-file aliases.txt normal -enable-assertions + +all: $(PROGRAM).bin + +view: PNGs + eog *.png & + +PNGs: DOTs + d2p *COMPLETE*.dot + +DOTs: $(PROGRAM).bin + +$(PROGRAM).bin: $(SOURCE_FILES) + $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) -o $(PROGRAM) $(SOURCE_FILES) + +OLDBSFLAGS= -mainclass Test -justanalyze -ownership -ownallocdepth 1 -ownwritedots final -enable-assertions +old: $(SOURCE_FILES) + $(BUILDSCRIPT) $(OLDBSFLAGS) -o $(PROGRAM) $(SOURCE_FILES) + +clean: + rm -f $(PROGRAM).bin + rm -fr tmpbuilddirectory + rm -f *~ + rm -f *.dot + rm -f *.png + rm -f aliases.txt diff --git a/Robust/src/Tests/disjoint/predicateTest3/test.java b/Robust/src/Tests/disjoint/predicateTest3/test.java new file mode 100644 index 00000000..256cbdda --- /dev/null +++ b/Robust/src/Tests/disjoint/predicateTest3/test.java @@ -0,0 +1,43 @@ +public class Foo { + public Foo() {} + public Foo f; + public Bar b; +} + +public class Bar { + public Bar() {} +} + +public class Test { + + static public void main( String[] args ) { + + Foo f1 = disjoint high1 new Foo(); + Foo extraVar = f1; + addSomething( f1 ); + + Foo f2 = disjoint high2 new Foo(); + addSomething( f2 ); + + + Foo f3 = getAFoo(); + Foo f4 = getAFoo(); + f3.f = f4; + } + + public static void addSomething( Foo f ) { + addBar( f ); + } + + public static void addBar( Foo g ) { + if( true ) { + g.b = disjoint low1 new Bar(); + } else { + g.b = disjoint low2 new Bar(); + } + } + + public static Foo getAFoo() { + return new Foo(); + } +} -- 2.34.1