yeom [Thu, 1 Dec 2011 20:38:19 +0000 (20:38 +0000)]
fix problems of shared loc extension
yeom [Thu, 1 Dec 2011 02:04:35 +0000 (02:04 +0000)]
changes.
jzhou [Wed, 30 Nov 2011 20:09:12 +0000 (20:09 +0000)]
According to Brian's comments, check the lside of assignment operation first to get its type. Then use that type to check the array initialization node.
yeom [Wed, 30 Nov 2011 00:50:58 +0000 (00:50 +0000)]
more changes.
jzhou [Tue, 29 Nov 2011 20:47:41 +0000 (20:47 +0000)]
Array field initialization was accidentally broken. Fix it and add ArrayInitializerTest into the unit test suit in case it is broken again
yeom [Tue, 29 Nov 2011 20:07:16 +0000 (20:07 +0000)]
have n-to-1 mapping from location paths to a set of may-written shared descriptors.
every call site propagates a set of may-written shared descriptors to the caller's arg location paths.
if an argument is bound to the callee's parameter leading to a write effect on shared locations, the corresponding location path that is started with the callee's param location will be bound to the caller's arg location path.
For example, suppose that caller has an arg with location path <A,B> and corresponding callee has param with location <L,C>. If the param leads to an write effect on shared location "F" through the location path <L,C,D,E>, the caller will have an write effect on F with the location path <A,B,C,D,E>.
jzhou [Tue, 29 Nov 2011 01:00:40 +0000 (01:00 +0000)]
Fix a small bug about enumaration type: it should be able to recorgnize access pattern like Classname.EnumName.X
jzhou [Thu, 24 Nov 2011 00:44:20 +0000 (00:44 +0000)]
changes
jzhou [Wed, 23 Nov 2011 00:25:49 +0000 (00:25 +0000)]
Fix another inner class bug: an inner class which is declared in a *static context* should not have lexically enclosing instances, instead, if it is immediately declared within a static method or static initializer then the inner class does have an enclosing block, which is the innermost block statement lexically enclosing the declaration of the inner class.
yeom [Tue, 22 Nov 2011 19:15:28 +0000 (19:15 +0000)]
working on shared loc extension: need to keep additional mappings from shared loc composite location to a set of may written descriptors.
jzhou [Sat, 19 Nov 2011 00:57:39 +0000 (00:57 +0000)]
fix some MGC classes
jjenista [Fri, 18 Nov 2011 21:41:47 +0000 (21:41 +0000)]
vector resize isn't a problem, even without definite reachability, because we have a special case of def reach just for array references
jzhou [Fri, 18 Nov 2011 00:41:22 +0000 (00:41 +0000)]
class library changes
jjenista [Fri, 18 Nov 2011 00:11:32 +0000 (00:11 +0000)]
fixed double negate bug, 3rd case of def reach works now
jjenista [Thu, 17 Nov 2011 23:31:18 +0000 (23:31 +0000)]
case 3 of definite reach, all coded but has bugs because test case does the messy store anyway still
jzhou [Tue, 15 Nov 2011 20:45:39 +0000 (20:45 +0000)]
a missing check
jzhou [Tue, 15 Nov 2011 20:10:26 +0000 (20:10 +0000)]
Bug fix of inner class: only add LIVE local variables that are referred to in an anonymous inner class into the inner class' fields. Previously we add all the local variables into an anonymous inner class which could be buggy. Also add a super(...) invocation into the anonymous constructor of an anonymous inner class according to the Java spec.
jzhou [Tue, 15 Nov 2011 00:41:04 +0000 (00:41 +0000)]
Add a new feature for inner class: an anonymous inner class can now refer to the local variables in its defintion context. The fix is not completely apply to Java specification in that we do not check if the local variables are final. According to the Java spec, only final variables can be referred to by the snonymous inner class
yeom [Mon, 14 Nov 2011 22:27:01 +0000 (22:27 +0000)]
working on shared loc extension
jzhou [Sat, 12 Nov 2011 00:34:57 +0000 (00:34 +0000)]
Need a new inner class feature: let the anonymous inner class be able to access local variable that is final. Add test about this new feature into the unit test of inner class. This feature is not implemented yet. So disable the inner test in Tests/DoTest temorarily. Will add it back when our compiler can pass this unit test. And it seems that the this___enclosing field of inner classes is no longer used, disable it. Add a new method valueOf(int) into Interger class
jzhou [Fri, 11 Nov 2011 21:08:41 +0000 (21:08 +0000)]
Make the compiler to support super.X/L.super.X which access super class' fields. We might still not be able to correctly support access to super class' methods like super.foo(). Also fix another nested class bug. Previously the unit test StaticInnerClassTest was broken because of newly added inner class support. Note that nested class (static inner class) should NOT have reference to its surrounding class in its constructor as it is static and can be created without any outer class instance.
yeom [Fri, 11 Nov 2011 01:36:58 +0000 (01:36 +0000)]
working on the written check.
jjenista [Fri, 11 Nov 2011 00:38:51 +0000 (00:38 +0000)]
got 2nd case of def reach up and running, one to go
jzhou [Fri, 11 Nov 2011 00:18:09 +0000 (00:18 +0000)]
Fix inner class implementation. Now code like inner.this.X/outer.this.X work correctly. And the inner class can correctly refer to the fields/methods defined in the surrounding class.
bdemsky [Thu, 10 Nov 2011 20:18:38 +0000 (20:18 +0000)]
change the email list...stop spamming people
jzhou [Thu, 10 Nov 2011 19:47:42 +0000 (19:47 +0000)]
Change back the inner class test case
jzhou [Thu, 10 Nov 2011 19:33:30 +0000 (19:33 +0000)]
Fix inner class bug: the inner class cannot correctly refer to outer class' fields/methods and cannot refre to its super class' fields too
jjenista [Thu, 10 Nov 2011 18:59:04 +0000 (18:59 +0000)]
working on the second case where definite reach can improve results
jjenista [Thu, 10 Nov 2011 00:38:35 +0000 (00:38 +0000)]
AWESOME. Used just the R relation of definite reach to successfully improve the reachability results of a simple example
jjenista [Thu, 10 Nov 2011 00:16:50 +0000 (00:16 +0000)]
successfully keep def reach info just for the store transform
jjenista [Thu, 10 Nov 2011 00:09:42 +0000 (00:09 +0000)]
bug fix: retrieve by full key returned empty set, now correct
spikeuci [Wed, 9 Nov 2011 02:16:25 +0000 (02:16 +0000)]
Updating the test case files
spikeuci [Wed, 9 Nov 2011 02:14:53 +0000 (02:14 +0000)]
Handling the case NAME DOT THIS for inner classes
jjenista [Wed, 9 Nov 2011 00:34:10 +0000 (00:34 +0000)]
def reach has to use PointerMethod to detect CFG edges that the analysis cares about
jjenista [Tue, 8 Nov 2011 22:14:12 +0000 (22:14 +0000)]
fix silly off-by-one bug
bdemsky [Tue, 8 Nov 2011 00:10:25 +0000 (00:10 +0000)]
push a bunch of old changes i had related to inner classes and such... hope this doesn't break anything for anyone
jjenista [Mon, 7 Nov 2011 22:27:46 +0000 (22:27 +0000)]
found a bug, results still empty
jjenista [Mon, 7 Nov 2011 21:50:35 +0000 (21:50 +0000)]
transfer funcs for the R relation of def reach coded, but buggy, results are empty
yeom [Sat, 5 Nov 2011 19:22:26 +0000 (19:22 +0000)]
fix: the callee can return only its owned obj
yeom [Fri, 4 Nov 2011 21:54:44 +0000 (21:54 +0000)]
add evaluation files
yeom [Fri, 4 Nov 2011 21:22:31 +0000 (21:22 +0000)]
forgot to commit
spikeuci [Fri, 28 Oct 2011 21:03:13 +0000 (21:03 +0000)]
Bug fixed
spikeuci [Fri, 28 Oct 2011 20:35:43 +0000 (20:35 +0000)]
This completes the barebones versions of inner class, we are now able to access fields of surrounding classes in any level, need to check for compatibility with language spec especially use of statics and so forth
yeom [Fri, 28 Oct 2011 18:27:02 +0000 (18:27 +0000)]
update location identifier according to changes of class structure
yeom [Fri, 28 Oct 2011 17:58:43 +0000 (17:58 +0000)]
bug fix:
the last changes for another benchmark causes a problem to mp3decoder: field access through the chain of array generates the composite location with one missing component.
jjenista [Fri, 28 Oct 2011 00:31:49 +0000 (00:31 +0000)]
looks like the output is Left and Right channels interleaved, only sample one for pretty graphs
jjenista [Thu, 27 Oct 2011 18:55:30 +0000 (18:55 +0000)]
make it easy to collect data for the paper's error injection figure
jjenista [Thu, 27 Oct 2011 17:39:48 +0000 (17:39 +0000)]
exploring error injection space
jjenista [Wed, 26 Oct 2011 15:48:44 +0000 (15:48 +0000)]
the static inner classes are not being used, but Subu's work is seeing them and complaining, so I moved them out. Also twiddled the Player code to generate a normal and error output sampling for experiments, WITHOUT SSJAVA notation, so the analysis won't run on this benchmark at the moment
jjenista [Wed, 26 Oct 2011 15:46:28 +0000 (15:46 +0000)]
tweak scripts to take mp3 filename argument
jjenista [Wed, 26 Oct 2011 15:38:49 +0000 (15:38 +0000)]
restrict error injection to non-array primitive types so we can use a random value instead of zero to get a wackier program behavior deviation
yeom [Tue, 25 Oct 2011 23:41:16 +0000 (23:41 +0000)]
add longer mp3 file for test
jjenista [Tue, 25 Oct 2011 22:34:55 +0000 (22:34 +0000)]
def reach coming along
jjenista [Tue, 25 Oct 2011 17:42:33 +0000 (17:42 +0000)]
implementing def reach transfer funcs for R
spikeuci [Tue, 25 Oct 2011 00:03:29 +0000 (00:03 +0000)]
Checking in the test cases
spikeuci [Tue, 25 Oct 2011 00:01:10 +0000 (00:01 +0000)]
As discussed with Prof. Demsky/Jim, the constructor of inner class now by default takes the surrounding class arg based on the scope and the block statement for initializing is also set up. TODO: redirect inner class references to surrounding class. the test case substituting thisbash.outerclass works in the current build
jjenista [Sat, 22 Oct 2011 01:20:29 +0000 (01:20 +0000)]
decouple ssjava code gen to prevent crashes from the analysis, so we can turn it on just for error injection
jjenista [Sat, 22 Oct 2011 01:17:09 +0000 (01:17 +0000)]
automate trying different error probabilities and seeds
jjenista [Fri, 21 Oct 2011 23:55:04 +0000 (23:55 +0000)]
instrument an injected error and plot differences in output samples
jjenista [Fri, 21 Oct 2011 21:16:41 +0000 (21:16 +0000)]
hacks
jjenista [Fri, 21 Oct 2011 21:16:00 +0000 (21:16 +0000)]
some extras for multiviewmaps
jjenista [Fri, 21 Oct 2011 21:15:08 +0000 (21:15 +0000)]
Please don't check in debug lines, por favor :)
jjenista [Fri, 21 Oct 2011 18:59:13 +0000 (18:59 +0000)]
a start on error inject for SSJava
yeom [Fri, 21 Oct 2011 17:32:10 +0000 (17:32 +0000)]
moves MP3Decoder codes to Benchmark directory
jjenista [Fri, 21 Oct 2011 16:19:47 +0000 (16:19 +0000)]
going to start with just enough definite reach analysis to do a simple example
david [Fri, 21 Oct 2011 01:49:47 +0000 (01:49 +0000)]
added array access inference
spikeuci [Fri, 21 Oct 2011 01:32:58 +0000 (01:32 +0000)]
Some changes for signature of constructor of inner classes, need to add assignment
david [Fri, 21 Oct 2011 00:44:26 +0000 (00:44 +0000)]
Fixed a bug, added switch statement support
david [Fri, 21 Oct 2011 00:43:18 +0000 (00:43 +0000)]
changed treenode tag to blockstatementnode tag
david [Fri, 21 Oct 2011 00:42:25 +0000 (00:42 +0000)]
adds global, this, and static tags for var id
jjenista [Thu, 20 Oct 2011 18:11:24 +0000 (18:11 +0000)]
a short, clear example that definite reachability will improve the analysis of
spikeuci [Sun, 16 Oct 2011 08:23:43 +0000 (08:23 +0000)]
Step 1: Creating instances of all levels of enclosing classes in an inner class. TODO need to populate them while actually creating the inner class and indirect all accesses as necessay
jzhou [Thu, 13 Oct 2011 23:30:40 +0000 (23:30 +0000)]
More changes for Galois
jjenista [Thu, 13 Oct 2011 18:05:36 +0000 (18:05 +0000)]
OoOJava benchmarks, including barnes-hut NOT parallelizing, are in working order
jjenista [Thu, 13 Oct 2011 15:28:12 +0000 (15:28 +0000)]
Forgot to add the OoOJava-specific class directory
jjenista [Thu, 13 Oct 2011 02:34:32 +0000 (02:34 +0000)]
Bug fix, sometimes an edge matches except it has a different type of source node, so check for that instead of blindly casting and causing an exception
jjenista [Thu, 13 Oct 2011 02:33:14 +0000 (02:33 +0000)]
Allow buildscript user to set the compiler's JVM heap size, so you can set it differently for different hosts
jjenista [Thu, 13 Oct 2011 02:31:04 +0000 (02:31 +0000)]
move heap size of output program into the benchmark-specific makefile
spikeuci [Wed, 12 Oct 2011 01:46:07 +0000 (01:46 +0000)]
Adding support for default constructor to be created in case ctor is not found
spikeuci [Wed, 12 Oct 2011 01:44:26 +0000 (01:44 +0000)]
*** empty log message ***
jzhou [Sat, 8 Oct 2011 00:08:03 +0000 (00:08 +0000)]
More classes for galois
jjenista [Fri, 7 Oct 2011 21:16:48 +0000 (21:16 +0000)]
fix a bug for Taint similar to ReachState, when either is an element of an ExistPred, SCRUB the preds on the taint and reach state before adding it, and within ExistPred use the equalsIgnorePreds and hashCodeNoPreds variants
jjenista [Wed, 5 Oct 2011 19:18:51 +0000 (19:18 +0000)]
accidentally commited tinker code yesterday
bdemsky [Wed, 5 Oct 2011 17:44:18 +0000 (17:44 +0000)]
changes
bdemsky [Wed, 5 Oct 2011 17:40:41 +0000 (17:40 +0000)]
extend test
bdemsky [Wed, 5 Oct 2011 17:38:48 +0000 (17:38 +0000)]
inner class test case
jjenista [Tue, 4 Oct 2011 23:49:19 +0000 (23:49 +0000)]
Bug fix, subtle errors in exist pred hashcode, and a cycle pred.hashCode to state.hashCode and back
jjenista [Tue, 4 Oct 2011 23:43:02 +0000 (23:43 +0000)]
a test that exposed a cyclic hashcode bug and some related minor bugs
jjenista [Tue, 4 Oct 2011 15:46:35 +0000 (15:46 +0000)]
A test that exposed the bug that I just fixed
jjenista [Tue, 4 Oct 2011 15:43:46 +0000 (15:43 +0000)]
the bug I've been chasing, a critical one-letter typo, GAH
jjenista [Tue, 4 Oct 2011 15:42:45 +0000 (15:42 +0000)]
double-check the context conversions of out-of-context node names
jjenista [Tue, 4 Oct 2011 15:40:17 +0000 (15:40 +0000)]
slight code improvements
yeom [Tue, 4 Oct 2011 00:55:33 +0000 (00:55 +0000)]
SSJava runtime support
jzhou [Mon, 3 Oct 2011 23:31:14 +0000 (23:31 +0000)]
Changes for galois porting
jzhou [Mon, 3 Oct 2011 23:26:56 +0000 (23:26 +0000)]
More classes for galois
yeom [Mon, 3 Oct 2011 00:28:34 +0000 (00:28 +0000)]
annotated version.
yeom [Mon, 3 Oct 2011 00:28:08 +0000 (00:28 +0000)]
bug fix.
yeom [Sat, 1 Oct 2011 00:18:01 +0000 (00:18 +0000)]
add input sensor data file
yeom [Fri, 30 Sep 2011 23:14:15 +0000 (23:14 +0000)]
makefile
yeom [Fri, 30 Sep 2011 23:13:25 +0000 (23:13 +0000)]
start new benchmark JavaNator.