jjenista [Thu, 2 Jun 2011 18:38:24 +0000 (18:38 +0000)]
forgot to remove some commented out code
jjenista [Wed, 1 Jun 2011 23:50:01 +0000 (23:50 +0000)]
if a static field is encountered, ignore it gracefully
jjenista [Wed, 1 Jun 2011 23:48:35 +0000 (23:48 +0000)]
comment out import statements while we are between implementations of the import feature
jzhou [Wed, 1 Jun 2011 22:30:01 +0000 (22:30 +0000)]
Parallelize the cache adpation
jjenista [Wed, 1 Jun 2011 19:12:01 +0000 (19:12 +0000)]
check points-to module improvements along with a bug fix for disjoint call transfer func. The bug was when considering callee edges to bring to the caller, use the predicates of the edge only to decide
yeom [Wed, 1 Jun 2011 01:26:29 +0000 (01:26 +0000)]
having a location namespace. location names appeared in field lattice declaration are only valid within the declaration annotation. therefore a field location, which is an element of a composite location, will be specified by 'className.FieldLocation'. assuming that classname is unique right now but probably better to have a way to set each lattice with unique name.
yeom [Tue, 31 May 2011 23:48:40 +0000 (23:48 +0000)]
add one more checking, class inheritance: If a class B has a super class A, all relative orderings of class A must be respected by the ordering lattice of class B.
jjenista [Tue, 31 May 2011 18:05:19 +0000 (18:05 +0000)]
name flat IR graphs to include method signature to avoid losing some graphs
bdemsky [Fri, 27 May 2011 21:53:59 +0000 (21:53 +0000)]
add NOLOCK back in
adash [Thu, 26 May 2011 18:07:08 +0000 (18:07 +0000)]
enable error checking
Current the recovery SpamFilter version crashes when garbled characters are added to a filename when opening the file.
For example: email5 becomes email5% or email5+
The error checking identifies an incorrect filename passed to it....I think there may be a bug in the BufferedReader or
the FileInputStream that causes this problem and passes a wrong filename to the nativeopen().
adash [Thu, 26 May 2011 17:59:01 +0000 (17:59 +0000)]
some changes to allow running >1 thread per machine
yeom [Wed, 25 May 2011 23:52:18 +0000 (23:52 +0000)]
fixes on bugs and checking of method invocation:
when verifying callee and caller hierarchy matching,
caller has a constraint that output(return value) should be lower than inputs(parameters).
In regarding to this constraint, callee needs to return something lower than its parameters, which means there is relative ordering relations between parameters and return value in the callee hierarchy. If there is no relative odering relations between them, it is compile-time error.
yeom [Tue, 24 May 2011 00:45:34 +0000 (00:45 +0000)]
bug fixes and few extra things:
-static final field has TOP location by default
-do not allow to copy values from one class global variable to another class global variable since they're not comparable.
yeom [Mon, 23 May 2011 19:40:03 +0000 (19:40 +0000)]
having a new check that verifies the single reference constraint: only allows a single reference, not aliases. The reference location must be destroyed after a variable or field is read. plus, changes on ssjava class library and test cases according to new checking.
yeom [Fri, 20 May 2011 18:51:22 +0000 (18:51 +0000)]
fix bugs on the flow down rule and start annotating ssjava class library again
jjenista [Fri, 20 May 2011 18:26:31 +0000 (18:26 +0000)]
allow Pointer to run for usual compilation modes... added a todo that points-to checks at runtime need some extra modeling for string literals added to Pointer before that system will work.
stephey [Fri, 20 May 2011 09:42:02 +0000 (09:42 +0000)]
Fixed import bug but some other issues now pop up:
1) make rcrpointer now crashes at processNode in Pointer.java starting at line 439. The switch statement encounters a FlatLiteralNode and doesn't know what to do with it.
2) We fail to parse Hashtable.java in the gnu labrary when using the -jni option. The line of code it fails at is "Hashtable.this.clear();". I can't seem to find any resources telling me what having a "this" midline means, so I can't fix it myself.
yeom [Thu, 19 May 2011 22:17:28 +0000 (22:17 +0000)]
changes.
jjenista [Wed, 18 May 2011 23:47:59 +0000 (23:47 +0000)]
bug fix: heap contexts for call sites were propgated from caller to callee incorrectly. A heap context should propagate from the caller to each possible callee at virtual dispatch... how did this ever work??
adash [Wed, 18 May 2011 23:41:20 +0000 (23:41 +0000)]
changes
yeom [Wed, 18 May 2011 23:34:37 +0000 (23:34 +0000)]
more changes.
adash [Wed, 18 May 2011 20:09:21 +0000 (20:09 +0000)]
new changes
yeom [Wed, 18 May 2011 18:59:14 +0000 (18:59 +0000)]
add more test cases: delta func and local variable lattice
yeom [Wed, 18 May 2011 18:58:09 +0000 (18:58 +0000)]
changes.
yeom [Wed, 18 May 2011 01:43:55 +0000 (01:43 +0000)]
changes to reflect ssjava design changes and temporarily remove some of ssjava class libraries until code revision is done
yeom [Wed, 18 May 2011 01:34:57 +0000 (01:34 +0000)]
updates ssjava test case to reflect recent changes
jzhou [Tue, 17 May 2011 00:11:46 +0000 (00:11 +0000)]
Fix bug in multicore gc
jjenista [Mon, 16 May 2011 22:32:57 +0000 (22:32 +0000)]
Create analysis model for string literals in disjointness analysis that supports checking allocation sites at runtime
adash [Mon, 16 May 2011 00:43:54 +0000 (00:43 +0000)]
new changes for getting results for TOPLAS
jjenista [Sat, 14 May 2011 00:33:14 +0000 (00:33 +0000)]
print allocation site when a points-to check fails to try and see what it should be
yeom [Fri, 13 May 2011 23:55:21 +0000 (23:55 +0000)]
take out all of ssjava stuff from state class and start re-organizing codes to reflect recent changes(separate lattices for fields and local vars, default lattice, ...)
jjenista [Fri, 13 May 2011 22:06:20 +0000 (22:06 +0000)]
model the allocation of string literals in heap analysis
jjenista [Fri, 13 May 2011 20:17:30 +0000 (20:17 +0000)]
this system checks heap results against runtime pointers to look for analysis bugs. It is currently missing that FlatLiteral nodes can allocation a new string object, coming in a future update.
jjenista [Fri, 13 May 2011 20:15:56 +0000 (20:15 +0000)]
isImmutable is used by the disjoint family of analyses and we added string because we know its immutable and wanted to decrease the size of reach graphs. To support the check-heap-results-versus-runtime system, go ahead a leave string out which is still a correct analysis but will also generate points-to information for a string and its byte array
jjenista [Fri, 13 May 2011 20:13:38 +0000 (20:13 +0000)]
print out brackets for array count to show humans
yeom [Fri, 13 May 2011 17:51:46 +0000 (17:51 +0000)]
decide not to have additional grammar to declare the location hierarchy.
all additional things for SSJava will be done using the standard Java annotation.
jzhou [Thu, 12 May 2011 22:59:20 +0000 (22:59 +0000)]
Now the cache adapt version works
jzhou [Thu, 12 May 2011 00:00:46 +0000 (00:00 +0000)]
Some code clean and make the cache adapt version compile
jjenista [Wed, 11 May 2011 21:29:50 +0000 (21:29 +0000)]
differentiate between analysis says something points-to nothing verus analysis doesn't care what something points-to
jjenista [Wed, 11 May 2011 21:27:12 +0000 (21:27 +0000)]
revert previous change: DROPPING THE GRUNGE HAMMER. :)
jjenista [Wed, 11 May 2011 21:16:36 +0000 (21:16 +0000)]
allow external systems to write a flatIR graph
jjenista [Wed, 11 May 2011 21:11:35 +0000 (21:11 +0000)]
show source code line numbers for this target
jjenista [Wed, 11 May 2011 17:59:18 +0000 (17:59 +0000)]
only do this if we are using oooj-style tasks after this analysis otherwise it crashes
jjenista [Wed, 11 May 2011 17:41:51 +0000 (17:41 +0000)]
did we just ignore the static field modifier before? How did OOOJ or DOJ work with static fields? In the case of labyrinth there is no need for fields in the top-level singleton class to be static
jjenista [Wed, 11 May 2011 17:40:46 +0000 (17:40 +0000)]
clean up points-to-check files properly
jzhou [Wed, 11 May 2011 01:20:49 +0000 (01:20 +0000)]
Code clean
jzhou [Tue, 10 May 2011 22:47:45 +0000 (22:47 +0000)]
Code clean
jzhou [Tue, 10 May 2011 22:05:30 +0000 (22:05 +0000)]
Small bug fix for SPECjbb. And the BAMBOO_ASSERT macro has been moved to runtime_arch.h under tilera directory. It does not need the error # any more
bdemsky [Tue, 10 May 2011 20:49:37 +0000 (20:49 +0000)]
let's avoid using pointer parameters when possible
jjenista [Tue, 10 May 2011 20:37:37 +0000 (20:37 +0000)]
New tool to check points-to results of a heap analysis against runtime pointers. Added an extension object system to BuildCode for this and future extensions.
jzhou [Tue, 10 May 2011 18:52:57 +0000 (18:52 +0000)]
Make SPECjbb compile again
jjenista [Tue, 10 May 2011 18:22:54 +0000 (18:22 +0000)]
imports are meaningful to compiler now
jzhou [Tue, 10 May 2011 17:57:28 +0000 (17:57 +0000)]
Bug fix
bdemsky [Tue, 10 May 2011 07:17:36 +0000 (07:17 +0000)]
code change
bdemsky [Tue, 10 May 2011 07:14:31 +0000 (07:14 +0000)]
oops...bug
bdemsky [Tue, 10 May 2011 06:27:25 +0000 (06:27 +0000)]
change enum & other fixes
bdemsky [Tue, 10 May 2011 06:26:32 +0000 (06:26 +0000)]
changes:
(1) use only header word to figure out length...
(2) figure out length using array lookup
jzhou [Tue, 10 May 2011 01:20:04 +0000 (01:20 +0000)]
More code clean
jzhou [Mon, 9 May 2011 23:50:54 +0000 (23:50 +0000)]
Code clean. Change BAMBOO_EXIT macro to print out file name and line #
bdemsky [Mon, 9 May 2011 04:32:35 +0000 (04:32 +0000)]
changes committed
bdemsky [Sat, 7 May 2011 06:38:39 +0000 (06:38 +0000)]
some cleaning up of code.... simplify many loops...fix some tabbing...
please get rid of globals when they aren't absolutely necessary....
think about how you can consolidate globals when possible also...
jzhou [Sat, 7 May 2011 00:52:52 +0000 (00:52 +0000)]
bug fix in multicore code
jjenista [Thu, 5 May 2011 22:48:52 +0000 (22:48 +0000)]
disjoint should work like pointer in that taints for DOJ have whereDefined initialized to null because taints can propagate across a backedge to the stallsite, for example, which can become the non-null whereDefined element of a new taint
jjenista [Thu, 5 May 2011 21:49:40 +0000 (21:49 +0000)]
an outstanding change to improve debugging of call sites
jzhou [Thu, 5 May 2011 17:17:06 +0000 (17:17 +0000)]
A small bug
jzhou [Thu, 5 May 2011 00:57:18 +0000 (00:57 +0000)]
Polish multicore code
yeom [Wed, 4 May 2011 00:43:40 +0000 (00:43 +0000)]
small changes: have a way to specify the location of "this".
jjenista [Tue, 3 May 2011 17:38:26 +0000 (17:38 +0000)]
allow debug reach graphs to show taints but supress node, edge AND taint predicates, and some other tiny debug changes
yeom [Tue, 3 May 2011 00:25:11 +0000 (00:25 +0000)]
changes.
yeom [Fri, 29 Apr 2011 23:42:00 +0000 (23:42 +0000)]
changes: now, the annotated SSJava class library passes the flow-down rule checking.
jjenista [Thu, 28 Apr 2011 22:58:29 +0000 (22:58 +0000)]
improve call site debugging for disjoint
jjenista [Thu, 28 Apr 2011 21:32:09 +0000 (21:32 +0000)]
the new compiler mode in buildscript SSJAVA needed an SSJAVA=false at the top, also indented classpath logic so we can figure out what is being selected
jjenista [Thu, 28 Apr 2011 21:30:56 +0000 (21:30 +0000)]
Let end user see what classpath was selected.
yeom [Thu, 28 Apr 2011 20:45:32 +0000 (20:45 +0000)]
Jim found that three class files of java_cup.runtime have different Java version number(50.0, not 49.0). this change keeps all of class files of JavaCUP as version 49.0
jjenista [Thu, 28 Apr 2011 18:02:42 +0000 (18:02 +0000)]
run ooojava and rcrpointer that print out effects and annotate them with the source code line they come from
jjenista [Thu, 28 Apr 2011 18:00:55 +0000 (18:00 +0000)]
change the debug mode for capturing null dereference to a global compilar option
yeom [Wed, 27 Apr 2011 23:54:45 +0000 (23:54 +0000)]
changes to get the tiny class library for ssjava
yeom [Wed, 27 Apr 2011 21:30:06 +0000 (21:30 +0000)]
extends the location hierarchy definition grammar.
while working on annotating ssjava class library, realize the need to have a way to keep only one location(with top and bottom) in the local hierarchy.
bdemsky [Wed, 27 Apr 2011 20:51:40 +0000 (20:51 +0000)]
switch to spaces only..
bdemsky [Wed, 27 Apr 2011 20:34:28 +0000 (20:34 +0000)]
Fix tabbing.... Please fix your editors so they do tabbing correctly!!! (Spaces only, two spaces)
yeom [Wed, 27 Apr 2011 18:42:06 +0000 (18:42 +0000)]
change
yeom [Wed, 27 Apr 2011 18:16:03 +0000 (18:16 +0000)]
attempts to have ssjava's own class library. starting from tiny class library: Object, String, Enumeratioin, System. the beginning seems to be humble, but the future will be prosperous :)
yeom [Wed, 27 Apr 2011 02:00:10 +0000 (02:00 +0000)]
Extends the grammar to include the annotation type declaration. The current impl only supports marker and single annotation declaration.
Annotation type is represented by class descriptor since annotation type declaration is a special kind of interface declaration. Later, we need to implement semantic checkings for annotations.
yeom [Tue, 26 Apr 2011 22:44:26 +0000 (22:44 +0000)]
has a hack on java_cup parser generator: divides a gigantic do_action method into halves since Java doesn't allow a method bigger than 64K"
bdemsky [Tue, 26 Apr 2011 22:15:30 +0000 (22:15 +0000)]
changes
bdemsky [Tue, 26 Apr 2011 21:58:05 +0000 (21:58 +0000)]
fix bug...
bdemsky [Tue, 26 Apr 2011 20:51:36 +0000 (20:51 +0000)]
revert yeom's checkin...
yeom [Tue, 26 Apr 2011 19:10:01 +0000 (19:10 +0000)]
first step to reduce the size of grammar as we have an issue of Java Bytecode 64K limitation.
stephey [Tue, 26 Apr 2011 09:19:47 +0000 (09:19 +0000)]
Changes.
stephey [Tue, 26 Apr 2011 00:51:56 +0000 (00:51 +0000)]
Don't include java.lang in non-jni builds.. and someone forgot a void in our Vector ensureCapacity declaration........
yeom [Tue, 26 Apr 2011 00:44:47 +0000 (00:44 +0000)]
add another test case for ssjava:
trying to put annotations on mp3 decoder source codes using the current ssjava scheme.
jjenista [Mon, 25 Apr 2011 23:23:43 +0000 (23:23 +0000)]
update the way this analysis visits every method reachable from program entry
bdemsky [Mon, 25 Apr 2011 23:14:38 +0000 (23:14 +0000)]
fix bug...
bdemsky [Mon, 25 Apr 2011 22:59:58 +0000 (22:59 +0000)]
nasty bug...
stephey [Sun, 24 Apr 2011 07:23:33 +0000 (07:23 +0000)]
Refactored the multiimport code so that it looks nicer and added java.lang as a default multiimport as well. Now Brian's test file crashes at parsing Hashmap (invalid character).
Still no support for importing a class within a class though
stephey [Sat, 23 Apr 2011 15:55:30 +0000 (15:55 +0000)]
Fixes. Almost everything works (but still no importing subclass support).
JNI compilation on Brian's test file still fails, HOWEVER I believe it's because /classpath/java/lang/ should be added into our state.classpaths vector. This should be true because Java automatically imports java.lang.* in every file, so it's essentially like having it as a class path.
I've left 1 System.out.println statement in extra to help trace which files are trying to find which files. When I look at the one I'm currently crashing on, I see that there is indeed no Class.java file in its package and it doesn't import it anywhere.
yeom [Sat, 23 Apr 2011 00:52:19 +0000 (00:52 +0000)]
extends grammar little more to have the break statement with label
yeom [Sat, 23 Apr 2011 00:51:14 +0000 (00:51 +0000)]
interim changes: ssjava will have its own class library, not relying on Java Class Library
yeom [Sat, 23 Apr 2011 00:49:37 +0000 (00:49 +0000)]
get rid of isClassLibrary method
jzhou [Fri, 22 Apr 2011 16:14:47 +0000 (16:14 +0000)]
Some goal files for the unit tests