a test that shows our analysis doesn't always terminate
authorjjenista <jjenista>
Tue, 30 Mar 2010 21:39:53 +0000 (21:39 +0000)
committerjjenista <jjenista>
Tue, 30 Mar 2010 21:39:53 +0000 (21:39 +0000)
Robust/src/Tests/disjoint/nonTermination1/makefile [new file with mode: 0644]
Robust/src/Tests/disjoint/nonTermination1/test.java [new file with mode: 0644]

diff --git a/Robust/src/Tests/disjoint/nonTermination1/makefile b/Robust/src/Tests/disjoint/nonTermination1/makefile
new file mode 100644 (file)
index 0000000..28536c9
--- /dev/null
@@ -0,0 +1,33 @@
+PROGRAM=test
+
+SOURCE_FILES=$(PROGRAM).java
+
+BUILDSCRIPT=~/research/Robust/src/buildscript
+
+
+BSFLAGS= -mainclass Test -justanalyze -disjoint -disjoint-k 2 -disjoint-write-dots final -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/nonTermination1/test.java b/Robust/src/Tests/disjoint/nonTermination1/test.java
new file mode 100644 (file)
index 0000000..6a1e6da
--- /dev/null
@@ -0,0 +1,22 @@
+public class Foo {
+  public Foo() {}
+  public Foo f;
+}
+
+public class Test {
+
+  static public void main( String[] args ) {
+
+    Foo x = null;
+    Foo y = new Foo();
+    
+    while( false ) {
+      addSomething( x );
+      x = y;
+    }
+  }   
+
+  public static void addSomething( Foo z ) {
+    z.f = new Foo();
+  }
+}