jpf-core.git
4 years agoAdding checks to ensure that a predecessor is only recorded once for a transition.
rtrimana [Thu, 17 Sep 2020 16:46:29 +0000 (09:46 -0700)]
Adding checks to ensure that a predecessor is only recorded once for a transition.

4 years agoTesting the implementation; fixing a bug.
rtrimana [Fri, 11 Sep 2020 18:54:27 +0000 (11:54 -0700)]
Testing the implementation; fixing a bug.

4 years agoSmall edits in method updateBacktrackSetsFromPreviousExecution.
rtrimana [Thu, 10 Sep 2020 19:00:40 +0000 (12:00 -0700)]
Small edits in method updateBacktrackSetsFromPreviousExecution.

4 years agoCleaning up the code; still need to test everything.
rtrimana [Wed, 9 Sep 2020 19:00:04 +0000 (12:00 -0700)]
Cleaning up the code; still need to test everything.

4 years agoMaking the implementation of updateBacktrackSetDFS closer to the paper in DPORStateRe...
rtrimana [Tue, 8 Sep 2020 18:22:47 +0000 (11:22 -0700)]
Making the implementation of updateBacktrackSetDFS closer to the paper in DPORStateReducer.java.

4 years agoInitial implementation of more efficient traversal with graph summary; pretty much...
rtrimana [Fri, 4 Sep 2020 19:34:24 +0000 (12:34 -0700)]
Initial implementation of more efficient traversal with graph summary; pretty much untested and un-double-checked yet.

4 years agoAdding a new file for a more efficient implementation; the implementation for updateB...
rtrimana [Thu, 3 Sep 2020 19:10:58 +0000 (12:10 -0700)]
Adding a new file for a more efficient implementation; the implementation for updateBacktrackSetDFS is made closer to the paper.

4 years agoAdding missing 'add' into HashSet. aug2020
rtrimana [Fri, 10 Jul 2020 18:07:48 +0000 (11:07 -0700)]
Adding missing 'add' into HashSet.

4 years agoMerge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core
rtrimana [Fri, 10 Jul 2020 18:04:49 +0000 (11:04 -0700)]
Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core

4 years agoChanging StringBuilder into HashMap and HashSet.
rtrimana [Fri, 10 Jul 2020 18:04:29 +0000 (11:04 -0700)]
Changing StringBuilder into HashMap and HashSet.

4 years agoGenerate a new RestorableVMState object only when it's still not available in the...
rtrimana [Thu, 9 Jul 2020 22:02:54 +0000 (15:02 -0700)]
Generate a new RestorableVMState object only when it's still not available in the HashMap.

4 years agoAdding notes in the latest changes for the serializer bug fix.
rtrimana [Tue, 7 Jul 2020 22:40:53 +0000 (15:40 -0700)]
Adding notes in the latest changes for the serializer bug fix.

4 years agoMore filtering: never define a method call 'call' since Groovy generates a lot of...
rtrimana [Sat, 4 Jul 2020 00:14:00 +0000 (17:14 -0700)]
More filtering: never define a method call 'call' since Groovy generates a lot of those.

4 years agoIntegrating bug fix for CFSerializer.
rtrimana [Fri, 3 Jul 2020 16:15:17 +0000 (09:15 -0700)]
Integrating bug fix for CFSerializer.

4 years agoFixing a bug: in the second round of boolean CG, we might encounter states in the...
rtrimana [Thu, 2 Jul 2020 22:31:13 +0000 (15:31 -0700)]
Fixing a bug: in the second round of boolean CG, we might encounter states in the first round that are considered new states; adding a guard condition for a map read.

4 years agoAdding debug mode guards for all main methods.
rtrimana [Fri, 26 Jun 2020 22:30:12 +0000 (15:30 -0700)]
Adding debug mode guards for all main methods.

4 years agoMerge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core
rtrimana [Mon, 22 Jun 2020 23:57:40 +0000 (16:57 -0700)]
Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core

4 years agoAdding a way for JPF to be informed that this is DPOR; otherwise number the hacked...
rtrimana [Mon, 22 Jun 2020 23:57:06 +0000 (16:57 -0700)]
Adding a way for JPF to be informed that this is DPOR; otherwise number the hacked number CGs only work for DPOR and it creates an infinite loop for a normal execution without DPOR.

4 years agoCommenting out a line that causes a lot of loops; let the exclusion trace continue...
rtrimana [Mon, 22 Jun 2020 02:53:09 +0000 (19:53 -0700)]
Commenting out a line that causes a lot of loops; let the exclusion trace continue to build up.

4 years agoBug fix: when state is not found in rGraph, that means the state is being visited...
rtrimana [Fri, 19 Jun 2020 18:50:50 +0000 (11:50 -0700)]
Bug fix: when state is not found in rGraph, that means the state is being visited and this is a loop (self-predecessor).

4 years agoA few hacks to make the list circular: this lets the CG not signal the JPF that the...
rtrimana [Fri, 19 Jun 2020 16:42:07 +0000 (09:42 -0700)]
A few hacks to make the list circular: this lets the CG not signal the JPF that the end of the list is the end of the CG execution.

4 years agoExplored trace needs to be constructed and modified as there are predecessor branches.
rtrimana [Wed, 17 Jun 2020 23:17:20 +0000 (16:17 -0700)]
Explored trace needs to be constructed and modified as there are predecessor branches.

4 years agoRenaming a variable.
rtrimana [Wed, 17 Jun 2020 20:55:17 +0000 (13:55 -0700)]
Renaming a variable.

4 years agoFixing a bug in isConflict method.
rtrimana [Wed, 17 Jun 2020 18:25:42 +0000 (11:25 -0700)]
Fixing a bug in isConflict method.

4 years agoMaking field exclusion checks more efficient.
rtrimana [Sat, 13 Jun 2020 22:50:31 +0000 (15:50 -0700)]
Making field exclusion checks more efficient.

4 years agoCommitting main.jpf.
rtrimana [Wed, 10 Jun 2020 16:39:04 +0000 (09:39 -0700)]
Committing main.jpf.

4 years agoFurther cleaning up (naming, comments, etc.).
rtrimana [Wed, 10 Jun 2020 16:11:54 +0000 (09:11 -0700)]
Further cleaning up (naming, comments, etc.).

4 years agoAdding happens-before push back.
rtrimana [Tue, 9 Jun 2020 21:24:37 +0000 (14:24 -0700)]
Adding happens-before push back.

4 years agoCleaning up.
rtrimana [Tue, 9 Jun 2020 19:08:07 +0000 (12:08 -0700)]
Cleaning up.

4 years agoNew algorithm implementation; without pushing forward hb transaction; untested/undebu...
rtrimana [Fri, 5 Jun 2020 20:45:40 +0000 (13:45 -0700)]
New algorithm implementation; without pushing forward hb transaction; untested/undebugged yet.

4 years agoAdding different main.jpf files for different detections.
rtrimana [Thu, 21 May 2020 18:27:06 +0000 (11:27 -0700)]
Adding different main.jpf files for different detections.

4 years agoEditing main.jpf
rtrimana [Thu, 21 May 2020 18:19:14 +0000 (11:19 -0700)]
Editing main.jpf

4 years agoAdding a script to set the environment variables for groovyc.
rtrimana [Thu, 21 May 2020 18:12:50 +0000 (11:12 -0700)]
Adding a script to set the environment variables for groovyc.

4 years agoFixing a bug: need to get the right choice/event number for IntIntervalGenerator...
rtrimana [Tue, 19 May 2020 16:38:08 +0000 (09:38 -0700)]
Fixing a bug: need to get the right choice/event number for IntIntervalGenerator CGs.

4 years agoTested updating backtrack sets in the reachability graph.
rtrimana [Fri, 15 May 2020 23:27:23 +0000 (16:27 -0700)]
Tested updating backtrack sets in the reachability graph.

4 years agoTested backtrack in a cycle (local).
rtrimana [Fri, 15 May 2020 19:31:39 +0000 (12:31 -0700)]
Tested backtrack in a cycle (local).

4 years agoAdjusting support methods for reachability analysis with the new algorithm; untested...
rtrimana [Thu, 14 May 2020 23:36:02 +0000 (16:36 -0700)]
Adjusting support methods for reachability analysis with the new algorithm; untested yet.

4 years agoModifying the algorithm: 1) Find the first conflict and stop; 2) Perform backward...
rtrimana [Thu, 14 May 2020 21:03:40 +0000 (14:03 -0700)]
Modifying the algorithm: 1) Find the first conflict and stop; 2) Perform backward DFS to find conflicts in the execution graph.

4 years agoFixing a bug: completing reachability graph with missing past traces.
rtrimana [Thu, 7 May 2020 18:14:42 +0000 (11:14 -0700)]
Fixing a bug: completing reachability graph with missing past traces.

4 years agoFixing bugs: state to reachability graph map has to be updated for every new state...
rtrimana [Sat, 2 May 2020 15:25:49 +0000 (08:25 -0700)]
Fixing bugs: state to reachability graph map has to be updated for every new state in the stateAdvanced method.

4 years agoAdding reachability graph for past executions.
rtrimana [Fri, 1 May 2020 22:47:12 +0000 (15:47 -0700)]
Adding reachability graph for past executions.

4 years agoAdditional logging feature.
rtrimana [Mon, 20 Apr 2020 19:29:48 +0000 (12:29 -0700)]
Additional logging feature.

4 years agoFixing a bug: mapping state to event has to be done after the execution termination...
rtrimana [Thu, 16 Apr 2020 21:44:45 +0000 (14:44 -0700)]
Fixing a bug: mapping state to event has to be done after the execution termination check, otherwise we stop too early.

4 years agoFixing more bugs with the reachability analysis.
rtrimana [Wed, 15 Apr 2020 23:34:11 +0000 (16:34 -0700)]
Fixing more bugs with the reachability analysis.

4 years agoFixing more potential bugs for the reachability analysis.
rtrimana [Wed, 15 Apr 2020 19:11:07 +0000 (12:11 -0700)]
Fixing more potential bugs for the reachability analysis.

4 years agoFixing a bug: separating the state tracking for cycle analysis.
rtrimana [Wed, 15 Apr 2020 06:53:59 +0000 (23:53 -0700)]
Fixing a bug: separating the state tracking for cycle analysis.

4 years agoAdding reachability analysis when state matching occurs.
rtrimana [Tue, 14 Apr 2020 23:24:10 +0000 (16:24 -0700)]
Adding reachability analysis when state matching occurs.

4 years agoModifying main.jpf
rtrimana [Mon, 13 Apr 2020 20:16:26 +0000 (13:16 -0700)]
Modifying main.jpf

4 years agoAdding a counter for number of conflicts.
rtrimana [Sun, 12 Apr 2020 07:21:43 +0000 (00:21 -0700)]
Adding a counter for number of conflicts.

4 years agoPrinting out the number of transitions.
rtrimana [Sat, 11 Apr 2020 21:26:46 +0000 (14:26 -0700)]
Printing out the number of transitions.

4 years agoFixing a bug: misunderstood how the VOD graph is supposed to be generated; we basical...
rtrimana [Fri, 10 Apr 2020 22:29:50 +0000 (15:29 -0700)]
Fixing a bug: misunderstood how the VOD graph is supposed to be generated; we basically track the transitions that produce new states.

4 years agoTesting DPORStateReducer and ConflictTracker: JPF seems to work fine and find the...
rtrimana [Thu, 9 Apr 2020 23:44:57 +0000 (16:44 -0700)]
Testing DPORStateReducer and ConflictTracker: JPF seems to work fine and find the conflicts.

4 years agoFixing a bug: java LinkedList needs removeFirst(), not getFirst() to get and remove...
rtrimana [Thu, 9 Apr 2020 23:29:40 +0000 (16:29 -0700)]
Fixing a bug: java LinkedList needs removeFirst(), not getFirst() to get and remove a node from the queue.

4 years agoFixing a bug: VOD graph traversal should continue with the next neighbor when there...
rtrimana [Thu, 9 Apr 2020 23:18:40 +0000 (16:18 -0700)]
Fixing a bug: VOD graph traversal should continue with the next neighbor when there is a loop (repeated node found).

4 years agoMerge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core
rtrimana [Thu, 9 Apr 2020 22:57:20 +0000 (15:57 -0700)]
Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core

4 years agoFixing a bug: restorable state has to be saved when backtrack point info is saved...
rtrimana [Thu, 9 Apr 2020 22:57:06 +0000 (15:57 -0700)]
Fixing a bug: restorable state has to be saved when backtrack point info is saved to get the appropriate CG type when restoring.

4 years agoOptimization: Compare just the state and the fist event/choice of the trace to not...
rtrimana [Thu, 9 Apr 2020 16:40:28 +0000 (09:40 -0700)]
Optimization: Compare just the state and the fist event/choice of the trace to not repeat the same backtrack trace twice (the two will map to the same state and the algorithm will stop the second execution, so there is no need to record and explore it twice, e.g., the traces 2 0 1 3 and 2 1 0 3 at state 3.

4 years agoChanging approach: Using vm.restoreState() method to restore JPF to the desired state...
rtrimana [Thu, 9 Apr 2020 07:03:43 +0000 (00:03 -0700)]
Changing approach: Using vm.restoreState() method to restore JPF to the desired state when backtracking; everything looks correct but probably needs more tests.

4 years agoCommitting a version that almost works: bug to fix is that when an execution finishes...
rtrimana [Wed, 8 Apr 2020 21:30:55 +0000 (14:30 -0700)]
Committing a version that almost works: bug to fix is that when an execution finishes and the first backtrack point requires to get back to a higher state, there is no mechanism to roll back to that state.

4 years agoFirst part of boolean flip seems to be clean; need to debug the second part and figur...
rtrimana [Tue, 7 Apr 2020 23:53:36 +0000 (16:53 -0700)]
First part of boolean flip seems to be clean; need to debug the second part and figure out what to do when the current state is lower than the highest state ID for backtrack.

4 years agoFixing a potential bug: we now store the event number in the ArrayList together with...
rtrimana [Tue, 7 Apr 2020 17:31:21 +0000 (10:31 -0700)]
Fixing a potential bug: we now store the event number in the ArrayList together with the list of CGs for backtracking; getting the event number directly from the current array might be misleading because the array choices might have been modified for fair-scheduling.

4 years agoCleaning up and fixing bugs; new DPOR implementation seems to be correct; need to...
rtrimana [Mon, 6 Apr 2020 23:31:08 +0000 (16:31 -0700)]
Cleaning up and fixing bugs; new DPOR implementation seems to be correct; need to test with other pairs.

4 years agoFixing a bug: we need to start choiceCounter from 1 instead of 0 for subsequent execu...
rtrimana [Sat, 4 Apr 2020 04:34:28 +0000 (21:34 -0700)]
Fixing a bug: we need to start choiceCounter from 1 instead of 0 for subsequent executions since the first CG (number 0) is the backtrack CG itself.

4 years agoReimplementing DPOR Phase 3: Architecting the subsequent executions (backtrack points...
rtrimana [Fri, 3 Apr 2020 23:13:34 +0000 (16:13 -0700)]
Reimplementing DPOR Phase 3: Architecting the subsequent executions (backtrack points); need to test how CGs are explored with the current DFSearch.

4 years agoReimplementing DPOR Phase 2: VOD graph building and traversal; completing R/W and...
rtrimana [Thu, 2 Apr 2020 23:20:26 +0000 (16:20 -0700)]
Reimplementing DPOR Phase 2: VOD graph building and traversal; completing R/W and conflict analysis; cleaning up and refactoring.

4 years agoReimplementing DPOR Phase 1: First trace execution, cycle detection, R/W field access...
rtrimana [Wed, 1 Apr 2020 23:44:57 +0000 (16:44 -0700)]
Reimplementing DPOR Phase 1: First trace execution, cycle detection, R/W field access analysis.

4 years agoStarting a new DPOR implementation.
rtrimana [Wed, 1 Apr 2020 18:20:05 +0000 (11:20 -0700)]
Starting a new DPOR implementation.

4 years agoCleaning up and refactoring.
rtrimana [Wed, 1 Apr 2020 18:09:26 +0000 (11:09 -0700)]
Cleaning up and refactoring.

4 years agoFixing bugs: capturing object accesses (read/write) in iterators.
rtrimana [Tue, 31 Mar 2020 23:25:00 +0000 (16:25 -0700)]
Fixing bugs: capturing object accesses (read/write) in iterators.

4 years agoFixing a bug: off-by-one error in the executed trace checking.
rtrimana [Fri, 27 Mar 2020 23:49:04 +0000 (16:49 -0700)]
Fixing a bug: off-by-one error in the executed trace checking.

4 years agoRe-checking and cleaning up the code: most likely still have a bug in re-ordering...
rtrimana [Fri, 27 Mar 2020 22:55:00 +0000 (15:55 -0700)]
Re-checking and cleaning up the code: most likely still have a bug in re-ordering the two apps.

4 years agoAdding the old tracker variable for debugging/testing purposes.
rtrimana [Thu, 26 Mar 2020 18:52:49 +0000 (11:52 -0700)]
Adding the old tracker variable for debugging/testing purposes.

4 years agoFixing bugs and cleaning up: Continuing sub-graph executions when there is no matched...
rtrimana [Thu, 26 Mar 2020 01:56:27 +0000 (18:56 -0700)]
Fixing bugs and cleaning up: Continuing sub-graph executions when there is no matched states or cycles that contain all events; checking in the old ConflictTracker for testing.

4 years agoMerge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core
rtrimana [Wed, 25 Mar 2020 22:43:55 +0000 (15:43 -0700)]
Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/jpf-core

4 years agoFixing bugs and cleaning up: making sure that the execution of the first trace has...
rtrimana [Wed, 25 Mar 2020 22:43:13 +0000 (15:43 -0700)]
Fixing bugs and cleaning up: making sure that the execution of the first trace has fair-scheduling with appropriate state-matching.

4 years agoMaking analysis compatible with infra
Seyed Amir Hossein Aqajari [Tue, 24 Mar 2020 22:51:11 +0000 (15:51 -0700)]
Making analysis compatible with infra

4 years agoMaking analysis compatible with new infrastructure
Seyed Amir Hossein Aqajari [Tue, 24 Mar 2020 22:50:03 +0000 (15:50 -0700)]
Making analysis compatible with new infrastructure

4 years agoCleaning up: Removing the full-blown graph traversal.
rtrimana [Mon, 23 Mar 2020 21:56:29 +0000 (14:56 -0700)]
Cleaning up: Removing the full-blown graph traversal.

4 years agoCleaning up, fixing bugs---commented out full-blown graph traversal code.
rtrimana [Mon, 23 Mar 2020 21:41:04 +0000 (14:41 -0700)]
Cleaning up, fixing bugs---commented out full-blown graph traversal code.

4 years agoRefactoring; Finding cycles without traversing the entire state graph.
rtrimana [Sat, 21 Mar 2020 04:34:59 +0000 (21:34 -0700)]
Refactoring; Finding cycles without traversing the entire state graph.

4 years agoFixing bugs: moving VOD-graph building into the CGAdvanced method to have the most...
rtrimana [Fri, 20 Mar 2020 21:11:09 +0000 (14:11 -0700)]
Fixing bugs: moving VOD-graph building into the CGAdvanced method to have the most up-to-date values.

4 years agoAdding graph traversal to find cycles; adding debug mode for ConflictTracker.
rtrimana [Thu, 19 Mar 2020 18:14:58 +0000 (11:14 -0700)]
Adding graph traversal to find cycles; adding debug mode for ConflictTracker.

4 years agoSome fixes for the DPOR state-reducer.
rtrimana [Mon, 16 Mar 2020 20:44:02 +0000 (13:44 -0700)]
Some fixes for the DPOR state-reducer.

4 years agoFixing a bug: merging the analysis part for locationMode w.r.t manual interaction...
rtrimana [Mon, 2 Mar 2020 22:12:31 +0000 (14:12 -0800)]
Fixing a bug: merging the analysis part for locationMode w.r.t manual interaction flag.

4 years agoFix for a bug in finding the right integer values in the stack frame: need to find...
rtrimana [Fri, 28 Feb 2020 21:36:27 +0000 (13:36 -0800)]
Fix for a bug in finding the right integer values in the stack frame: need to find a value that's not 0 in the frame (previously we only look at offset 0 or 1 because of adapting the function getValue() from a listener for Java code).

4 years agoAdding attributes for dimmers.
rtrimana [Fri, 28 Feb 2020 19:31:36 +0000 (11:31 -0800)]
Adding attributes for dimmers.

4 years agoCode to print graph to output so that dot can be used to generate pdf of graph.
Brian Demsky [Wed, 26 Feb 2020 21:19:26 +0000 (13:19 -0800)]
Code to print graph to output so that dot can be used to generate pdf of graph.

4 years agoAdding manual transactions to the conflict tracker
Seyed Amir Hossein Aqajari [Wed, 19 Feb 2020 19:21:38 +0000 (11:21 -0800)]
Adding manual transactions to the conflict tracker

4 years agoSlight changes for safeguard.
rtrimana [Sat, 15 Feb 2020 00:11:23 +0000 (16:11 -0800)]
Slight changes for safeguard.

4 years agoFixing an out of bound bug.
rtrimana [Fri, 14 Feb 2020 18:32:06 +0000 (10:32 -0800)]
Fixing an out of bound bug.

4 years agoJPF ready to run with old infrastructure
Seyed Amir Hossein Aqajari [Thu, 13 Feb 2020 21:39:36 +0000 (13:39 -0800)]
JPF ready to run with old infrastructure

4 years agoAdding a prevChoiceValue class property to store the previous choice to update the...
rtrimana [Mon, 10 Feb 2020 21:38:03 +0000 (13:38 -0800)]
Adding a prevChoiceValue class property to store the previous choice to update the VOD graph correctly.

4 years agoAttempting state-based DPOR implementation from the SPIN paper.
rtrimana [Fri, 7 Feb 2020 23:08:59 +0000 (15:08 -0800)]
Attempting state-based DPOR implementation from the SPIN paper.

4 years agoAdding the first implementation of visible operation dependency graph for stateful...
rtrimana [Thu, 30 Jan 2020 20:08:01 +0000 (12:08 -0800)]
Adding the first implementation of visible operation dependency graph for stateful DPOR: need to do more test to make sure that it's really working.

4 years agoMake updates and not edges have manual property
Brian Demsky [Tue, 17 Dec 2019 06:57:19 +0000 (22:57 -0800)]
Make updates and not edges have manual property

4 years agoClean up comments
Brian Demsky [Tue, 17 Dec 2019 06:41:16 +0000 (22:41 -0800)]
Clean up comments

4 years agoRewrite of Conflict Tracker
Brian Demsky [Tue, 17 Dec 2019 06:35:45 +0000 (22:35 -0800)]
Rewrite of Conflict Tracker

4 years agoA change in updateTheOutSet in conflict tracker analysis
amiraj [Tue, 17 Dec 2019 01:03:33 +0000 (17:03 -0800)]
A change in updateTheOutSet in conflict tracker analysis

4 years agoA change in propagate method.
amiraj [Thu, 12 Dec 2019 22:30:53 +0000 (14:30 -0800)]
A change in propagate method.

4 years agoFixing a bug in Conflict Tracker + Make propagate method much simpler
amiraj [Thu, 12 Dec 2019 20:34:21 +0000 (12:34 -0800)]
Fixing a bug in Conflict Tracker + Make propagate method much simpler