jzhou [Tue, 8 May 2012 00:46:32 +0000 (00:46 +0000)]
Changes for reading input files in MGC version
yeom [Mon, 7 May 2012 00:09:43 +0000 (00:09 +0000)]
more implementation for the inference: propagating relations of callee parameters to the caller's lattice
yeom [Fri, 4 May 2012 02:04:30 +0000 (02:04 +0000)]
run-doj-validation-test.sh: a single script that performs validation tests for all DOJ benchmarks.
yeom [Thu, 3 May 2012 17:33:35 +0000 (17:33 +0000)]
Fix the bug in the variable analysis: When we define nested tasks, the task liveness analysis computes a wrong inset/outset. The new analysis computes liveness for each task and keeps the local view of liveness rather than doing the global liveness computation and taking special care with nested task enter/exit nodes.
jzhou [Thu, 3 May 2012 17:31:29 +0000 (17:31 +0000)]
Fix the thread safe problem
jzhou [Thu, 3 May 2012 17:18:22 +0000 (17:18 +0000)]
Fix the thread safe problem
jzhou [Thu, 3 May 2012 01:31:23 +0000 (01:31 +0000)]
Changes for galois
yeom [Thu, 3 May 2012 00:38:20 +0000 (00:38 +0000)]
Fix: need to keep the number of allocation site for the heap examiner. Somehow the code that assigns the alloc# to the corresponding variable was commented out. Toggle the comment. Now the Barneshut works fine.
yeom [Wed, 2 May 2012 17:34:29 +0000 (17:34 +0000)]
fixes to remove compilation warnings. now DOJ works fine with the Voronoi.
yeom [Wed, 2 May 2012 17:33:38 +0000 (17:33 +0000)]
fix: the return value declarations were missing in some method declarations in the LinkedList class. so curious about how it could work well without having a compilation error.
yeom [Wed, 2 May 2012 00:32:02 +0000 (00:32 +0000)]
bug fix: The result of the pointer analysis is broken when it tries to do something for a flat literal node. Since the modeling of a flat literal node is only required for the additional runtime check which verifies the allocation site of objects pointed to(+ it has not yet fully implemented), no problem to turn it off. Turn back to the same way of the OOPSLA DOJ version.
yeom [Mon, 30 Apr 2012 17:16:35 +0000 (17:16 +0000)]
changes on the SJava inference
yeom [Fri, 20 Apr 2012 00:21:04 +0000 (00:21 +0000)]
more changes.
yeom [Thu, 19 Apr 2012 00:48:21 +0000 (00:48 +0000)]
changes.
yeom [Mon, 16 Apr 2012 19:17:09 +0000 (19:17 +0000)]
changes.
yeom [Tue, 10 Apr 2012 22:48:07 +0000 (22:48 +0000)]
start implementing basic approach
jjenista [Mon, 26 Mar 2012 23:19:38 +0000 (23:19 +0000)]
the parallel implementation doesn't achieve much because there isn't enough work to do
jzhou [Fri, 23 Mar 2012 02:08:20 +0000 (02:08 +0000)]
changes for galois
yeom [Thu, 22 Mar 2012 18:44:29 +0000 (18:44 +0000)]
changes on inference
yeom [Thu, 22 Mar 2012 18:40:04 +0000 (18:40 +0000)]
add a new test case for inference
yeom [Wed, 21 Mar 2012 22:12:21 +0000 (22:12 +0000)]
changes and data/eval files for new evaluations
jzhou [Wed, 21 Mar 2012 12:17:41 +0000 (12:17 +0000)]
Implement Thread.getThreadLocals() and Thread.currentThread() in MGC version
yeom [Fri, 9 Mar 2012 02:59:02 +0000 (02:59 +0000)]
raw numbers from error injection evaluations
yeom [Wed, 7 Mar 2012 18:45:57 +0000 (18:45 +0000)]
raw evaluation numbers for the mp3decoder
yeom [Tue, 6 Mar 2012 02:27:32 +0000 (02:27 +0000)]
add batch-mode script
bdemsky [Fri, 24 Feb 2012 22:30:21 +0000 (22:30 +0000)]
change example for now...
yeom [Fri, 24 Feb 2012 22:09:05 +0000 (22:09 +0000)]
add a simplifed bh.
yeom [Fri, 17 Feb 2012 20:57:14 +0000 (20:57 +0000)]
changes.
yeom [Fri, 17 Feb 2012 20:12:54 +0000 (20:12 +0000)]
add new compilation flag -ssjavainfer for the location inference.
yeom [Fri, 17 Feb 2012 19:59:03 +0000 (19:59 +0000)]
setup some interfaces & skeleton codes for Adrian's project
jjenista [Fri, 27 Jan 2012 18:00:48 +0000 (18:00 +0000)]
new version of experiments
jjenista [Fri, 27 Jan 2012 02:15:32 +0000 (02:15 +0000)]
my laptop is a billion versions of bash ahead of the server, doh
jjenista [Fri, 27 Jan 2012 01:14:50 +0000 (01:14 +0000)]
little twiddles for kmeans investigation
jjenista [Wed, 25 Jan 2012 20:42:03 +0000 (20:42 +0000)]
set up to count graph elements over every final graph for every analyzed method
jjenista [Wed, 25 Jan 2012 00:27:11 +0000 (00:27 +0000)]
line numbers for allocation sites not propagating to flat nodes
jjenista [Tue, 24 Jan 2012 21:49:29 +0000 (21:49 +0000)]
didnt get what I wanted before
jjenista [Tue, 24 Jan 2012 17:52:19 +0000 (17:52 +0000)]
bits to help investigate node count changing
jzhou [Fri, 20 Jan 2012 01:54:03 +0000 (01:54 +0000)]
changes to MGC classlibrary
jjenista [Fri, 20 Jan 2012 01:42:22 +0000 (01:42 +0000)]
running new experiments
yeom [Fri, 20 Jan 2012 00:30:49 +0000 (00:30 +0000)]
have another way to assign a THIS LOCATION to method: using @THISLOC annotation on the method declaration as the example section of ssjava paper.
jzhou [Wed, 18 Jan 2012 01:17:20 +0000 (01:17 +0000)]
changes to MGC class library
jjenista [Tue, 17 Jan 2012 23:24:05 +0000 (23:24 +0000)]
predicates are not feasible to flip on and off. The entire splicing mechanism for interprocedural analysis uses predicates of callee elements to match fuse points in the caller context. This is critical because all the caller context heap references and variables out of the callee context can commonly reference different nodes after callee analysis. When you remove predicates and bring the entire callee context into the caller, the current system *correctly* has no fuse points for the callee elements and wouldn't reference them.
jjenista [Tue, 17 Jan 2012 22:58:14 +0000 (22:58 +0000)]
fix up summarize-per-class mode
jjenista [Tue, 17 Jan 2012 19:48:51 +0000 (19:48 +0000)]
get set up for experiment: test impact of disabling components
jjenista [Mon, 9 Jan 2012 19:10:15 +0000 (19:10 +0000)]
defreach experiment
jjenista [Mon, 9 Jan 2012 19:09:11 +0000 (19:09 +0000)]
convergence test for defreach
jjenista [Fri, 6 Jan 2012 23:41:12 +0000 (23:41 +0000)]
this little example only parallelizes for oooj with defreach
jzhou [Fri, 6 Jan 2012 22:21:16 +0000 (22:21 +0000)]
add System.nanoTimes() support in MGC version
jjenista [Fri, 6 Jan 2012 21:44:49 +0000 (21:44 +0000)]
get this dir too
jjenista [Fri, 6 Jan 2012 19:02:29 +0000 (19:02 +0000)]
not working out like I wanted
jjenista [Fri, 6 Jan 2012 18:14:26 +0000 (18:14 +0000)]
a useful example that needs defreach
jjenista [Fri, 6 Jan 2012 18:13:30 +0000 (18:13 +0000)]
tweaks for running definite reach
jzhou [Thu, 5 Jan 2012 01:26:50 +0000 (01:26 +0000)]
remove the '$' in the C code as tilera does not allow it
jzhou [Wed, 4 Jan 2012 01:25:14 +0000 (01:25 +0000)]
remove the '$' in the C code as tilera does not allow it
jzhou [Fri, 30 Dec 2011 00:21:56 +0000 (00:21 +0000)]
accidentally changed this makefile, roll it back
jzhou [Fri, 30 Dec 2011 00:18:30 +0000 (00:18 +0000)]
changes to classes
jzhou [Wed, 28 Dec 2011 00:48:54 +0000 (00:48 +0000)]
changes to MGC class library
jzhou [Wed, 21 Dec 2011 02:00:30 +0000 (02:00 +0000)]
Another bug fix for inner class code: when trying to find a field in the surrounding classes, the this was wrongly constructred.
jzhou [Tue, 20 Dec 2011 00:15:20 +0000 (00:15 +0000)]
Fix some inner class related bugs: 1) whenever a class is added into the class list of state, it should check its inner class list to do addOuterClassParam() and addOuterClassReferences() operations, previously a lot of this checking is missing 2) previously the ith lexically enclosing instance for a deeply nested inner class was wrongly passed in to the inner class' constructor
yeom [Fri, 16 Dec 2011 19:58:12 +0000 (19:58 +0000)]
test case for the ownership checking
jzhou [Fri, 16 Dec 2011 01:42:49 +0000 (01:42 +0000)]
changes to MGC class library
yeom [Thu, 15 Dec 2011 21:57:19 +0000 (21:57 +0000)]
Finally, all benchmarks pass the definitely written analysis
yeom [Thu, 15 Dec 2011 21:32:43 +0000 (21:32 +0000)]
New shared loc analysis found a shared location that is not overwritten completely in the synthesis filter. Decoder adds input samples to the Synthesis Filter in circular fashion, which means it needs to keep the last position of the previous loop of the decode to the circular queue. However, the value of start index does not matter because the synthesis filter resumes a normal behavior, as long as data is added to the synthesis filter in a row. Therefore, a workaround solution is that BitStream, which is trusted to ss, assigns the index of header that is incremented by one, and then the decoder overwrites the location of the last position in the Synthesis Filter using the header index. Even the header index value is corrupted, the synthesis filter will resume because BitStream is going to providing following headers.
jzhou [Thu, 15 Dec 2011 02:07:29 +0000 (02:07 +0000)]
changes to MGC class library
yeom [Thu, 15 Dec 2011 01:27:15 +0000 (01:27 +0000)]
associate assignment nodes that writes to the same height location with corresponding flat nodes in order to check definitely written rules easily.
yeom [Thu, 15 Dec 2011 01:21:45 +0000 (01:21 +0000)]
fix mp3decoder: clear memory locations that are not overwritten.
jzhou [Wed, 14 Dec 2011 01:38:54 +0000 (01:38 +0000)]
changes to MGC class library
yeom [Tue, 13 Dec 2011 01:43:14 +0000 (01:43 +0000)]
changes.
jzhou [Tue, 13 Dec 2011 01:02:51 +0000 (01:02 +0000)]
Changes to MGC class library and some missing unit test files for inner class
yeom [Mon, 12 Dec 2011 19:51:01 +0000 (19:51 +0000)]
fix another bug: callee propagated wrong write effects associated with its local vars to the caller's may-write set.
yeom [Mon, 12 Dec 2011 01:18:55 +0000 (01:18 +0000)]
more changes, but still broken with mp3decoder
jzhou [Sat, 10 Dec 2011 01:24:01 +0000 (01:24 +0000)]
Changes to MGC class library and fix a bug regarding nested inline class declaration
yeom [Sat, 10 Dec 2011 00:17:50 +0000 (00:17 +0000)]
changes.
yeom [Fri, 9 Dec 2011 02:28:27 +0000 (02:28 +0000)]
fix a nasty bug: writes on local array elements was treated as field writes.
yeom [Thu, 8 Dec 2011 02:10:50 +0000 (02:10 +0000)]
fix heap path propagation and generate error msg with more information
jzhou [Wed, 7 Dec 2011 01:16:50 +0000 (01:16 +0000)]
changes to MGC class library
yeom [Tue, 6 Dec 2011 18:05:50 +0000 (18:05 +0000)]
changes while trying to compile MP3Decoder
yeom [Tue, 6 Dec 2011 00:35:11 +0000 (00:35 +0000)]
changes for getting the right path of static references
yeom [Tue, 6 Dec 2011 00:00:35 +0000 (00:00 +0000)]
new analysis found one shared location that is not overwritten in the eyetracking benchmark, fixed it.
yeom [Mon, 5 Dec 2011 23:57:49 +0000 (23:57 +0000)]
fixes on analyses to compile the eyetracking benchmark
yeom [Mon, 5 Dec 2011 18:10:30 +0000 (18:10 +0000)]
fixes
yeom [Sat, 3 Dec 2011 01:44:20 +0000 (01:44 +0000)]
it has passed test cases
jzhou [Sat, 3 Dec 2011 01:42:41 +0000 (01:42 +0000)]
Fix another inner class bug: every inner class along the inherited chain has a pointer to its enclosing class; If an inner class inherits from another inner class, when it calls the constructor of its super class, it passes in its enclosing class for the superenclosing class by default
yeom [Fri, 2 Dec 2011 19:56:03 +0000 (19:56 +0000)]
get the right cover set wrt shared location path.
working on transfuncs for event loop analysis.
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