c11tester.git
4 years agobug fix...
Brian Demsky [Wed, 18 Dec 2019 07:59:11 +0000 (23:59 -0800)]
bug fix...

4 years agomerge
root [Mon, 16 Dec 2019 23:26:53 +0000 (15:26 -0800)]
merge

4 years agoBug fixes
root [Mon, 16 Dec 2019 23:24:00 +0000 (15:24 -0800)]
Bug fixes

4 years agoMore code towards freeing old actions
Brian Demsky [Mon, 16 Dec 2019 22:41:08 +0000 (14:41 -0800)]
More code towards freeing old actions

4 years agoMore code towards freeing old actions
Brian Demsky [Mon, 16 Dec 2019 20:44:19 +0000 (12:44 -0800)]
More code towards freeing old actions

4 years agoMore work towards freeing old ModelActions
Brian Demsky [Sun, 15 Dec 2019 08:32:19 +0000 (00:32 -0800)]
More work towards freeing old ModelActions

4 years agoIncorporate failed predicates in weights
weiyu [Sat, 14 Dec 2019 01:27:41 +0000 (17:27 -0800)]
Incorporate failed predicates in weights

4 years agoRemove the code that checks store visibility, not being used at this time
weiyu [Fri, 13 Dec 2019 20:51:22 +0000 (12:51 -0800)]
Remove the code that checks store visibility, not being used at this time

4 years agotowards freeing actions
Brian Demsky [Fri, 13 Dec 2019 07:31:57 +0000 (23:31 -0800)]
towards freeing actions

4 years agoWeight-based random walk
weiyu [Fri, 13 Dec 2019 00:02:29 +0000 (16:02 -0800)]
Weight-based random walk

4 years agoDelete set iterator pointers to prevent memory leaks and enable updating of predicate...
weiyu [Thu, 12 Dec 2019 23:44:07 +0000 (15:44 -0800)]
Delete set iterator pointers to prevent memory leaks and enable updating of predicate weights at function exits

4 years agoAdd ref counts to CycleGraph
Brian Demsky [Thu, 12 Dec 2019 23:34:37 +0000 (15:34 -0800)]
Add ref counts to CycleGraph

4 years agoGet rid of uninitialized actions and just use non-atomic writes instead
Brian Demsky [Thu, 12 Dec 2019 23:25:38 +0000 (15:25 -0800)]
Get rid of uninitialized actions and just use non-atomic writes instead

4 years agoTowards erase method
Brian Demsky [Thu, 12 Dec 2019 07:58:04 +0000 (23:58 -0800)]
Towards erase method

4 years agoMerge
Brian Demsky [Thu, 12 Dec 2019 07:31:12 +0000 (23:31 -0800)]
Merge

4 years agoAdd references to lists
Brian Demsky [Thu, 12 Dec 2019 07:19:11 +0000 (23:19 -0800)]
Add references to lists

4 years agoFix warning
Brian Demsky [Thu, 12 Dec 2019 05:55:36 +0000 (21:55 -0800)]
Fix warning

4 years agoAdd functions to SnapList plus tabbing
Brian Demsky [Thu, 12 Dec 2019 05:54:43 +0000 (21:54 -0800)]
Add functions to SnapList plus tabbing

4 years agoFix segfault at the first lock action
weiyu [Thu, 12 Dec 2019 01:46:44 +0000 (17:46 -0800)]
Fix segfault at the first lock action

4 years agoSmall edits
weiyu [Thu, 12 Dec 2019 01:44:27 +0000 (17:44 -0800)]
Small edits

4 years agoFix a bug in predicate.cc and declare 3 hashtables in funcnode.h as non-snapshotted...
weiyu [Thu, 12 Dec 2019 00:46:38 +0000 (16:46 -0800)]
Fix a bug in predicate.cc and declare 3 hashtables in funcnode.h as non-snapshotted memory to avoid repeatedly constructing and destructing them

4 years agoSilence -Wreorder
weiyu [Tue, 10 Dec 2019 23:27:07 +0000 (15:27 -0800)]
Silence -Wreorder

4 years agoMove data structures from execution.h to history.h
weiyu [Tue, 10 Dec 2019 23:05:21 +0000 (15:05 -0800)]
Move data structures from execution.h to history.h

4 years agoMerge branch 'master' into branch-weiyu
weiyu [Tue, 10 Dec 2019 19:15:32 +0000 (11:15 -0800)]
Merge branch 'master' into branch-weiyu

4 years agoStore the set of predicate leaves in FuncNode
weiyu [Tue, 10 Dec 2019 19:09:27 +0000 (11:09 -0800)]
Store the set of predicate leaves in FuncNode

4 years agosmall edits
Brian Demsky [Tue, 10 Dec 2019 07:42:23 +0000 (23:42 -0800)]
small edits

4 years agoRevamp obj_map for just what it is used for
Brian Demsky [Tue, 10 Dec 2019 06:55:26 +0000 (22:55 -0800)]
Revamp obj_map for just what it is used for

4 years agoMerge branch 'branch-weiyu' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into...
Brian Demsky [Tue, 10 Dec 2019 00:06:30 +0000 (16:06 -0800)]
Merge branch 'branch-weiyu' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into envvars

4 years agoexperiment with exponential decay model
weiyu [Mon, 9 Dec 2019 20:49:14 +0000 (12:49 -0800)]
experiment with exponential decay model

4 years agoremove test cases
Brian Demsky [Sat, 7 Dec 2019 07:32:20 +0000 (23:32 -0800)]
remove test cases

4 years agoRemove snapshot stack
root [Sat, 7 Dec 2019 06:41:31 +0000 (22:41 -0800)]
Remove snapshot stack

4 years agoFix bug with code to get rid of main
root [Sat, 7 Dec 2019 04:31:35 +0000 (20:31 -0800)]
Fix bug with code to get rid of main

4 years agobug fix
root [Sat, 7 Dec 2019 00:54:32 +0000 (16:54 -0800)]
bug fix

4 years agoBug fix to model.cc
root [Sat, 7 Dec 2019 00:36:34 +0000 (16:36 -0800)]
Bug fix to model.cc

4 years agoRemove user_main_wrapper
Brian Demsky [Fri, 6 Dec 2019 23:15:26 +0000 (15:15 -0800)]
Remove user_main_wrapper

4 years agoMore work towards removing main
Brian Demsky [Fri, 6 Dec 2019 23:13:40 +0000 (15:13 -0800)]
More work towards removing main

4 years agoGet rid of main
Brian Demsky [Fri, 6 Dec 2019 23:02:15 +0000 (15:02 -0800)]
Get rid of main

4 years agoremove option
Brian Demsky [Fri, 6 Dec 2019 22:33:40 +0000 (14:33 -0800)]
remove option

4 years agoRemove mprotect snapshots
bdemsky [Fri, 6 Dec 2019 00:09:43 +0000 (16:09 -0800)]
Remove mprotect snapshots

4 years agoBug fix
weiyu [Thu, 5 Dec 2019 01:02:14 +0000 (17:02 -0800)]
Bug fix

4 years agoUsing a for loop to prune writes that violate modification order is wrong
weiyu [Thu, 5 Dec 2019 00:33:31 +0000 (16:33 -0800)]
Using a for loop to prune writes that violate modification order is wrong

4 years agoRemove unused code
weiyu [Thu, 5 Dec 2019 00:31:31 +0000 (16:31 -0800)]
Remove unused code

4 years agoRemove dead code
weiyu [Wed, 4 Dec 2019 21:37:44 +0000 (13:37 -0800)]
Remove dead code

4 years agoTabbing
weiyu [Wed, 4 Dec 2019 20:32:49 +0000 (12:32 -0800)]
Tabbing

4 years agoFix NewFuzzer::selectWrite - check back edges
weiyu [Wed, 4 Dec 2019 20:29:02 +0000 (12:29 -0800)]
Fix NewFuzzer::selectWrite - check back edges

4 years agoSwitch to environmental variables
bdemsky [Wed, 27 Nov 2019 23:41:04 +0000 (15:41 -0800)]
Switch to environmental variables

4 years agoFix compile under clang
root [Wed, 27 Nov 2019 22:39:51 +0000 (14:39 -0800)]
Fix compile under clang

4 years agoFix TLS
root [Wed, 27 Nov 2019 22:01:25 +0000 (14:01 -0800)]
Fix TLS

4 years agoTSAN style tls destructor
bdemsky [Wed, 27 Nov 2019 21:08:07 +0000 (13:08 -0800)]
TSAN style tls destructor

4 years agoassert_bug function fixes
bdemsky [Tue, 26 Nov 2019 06:06:03 +0000 (22:06 -0800)]
assert_bug function fixes

4 years agoRun tabbing pass
bdemsky [Tue, 26 Nov 2019 06:01:17 +0000 (22:01 -0800)]
Run tabbing pass

4 years agoRemove lots of dead code
bdemsky [Tue, 26 Nov 2019 06:01:01 +0000 (22:01 -0800)]
Remove lots of dead code

4 years agoMerge branch 'branch-weiyu' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into...
bdemsky [Tue, 26 Nov 2019 05:51:11 +0000 (21:51 -0800)]
Merge branch 'branch-weiyu' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into branch-weiyu

4 years agoMerge branch 'master' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into branch...
bdemsky [Thu, 21 Nov 2019 01:17:22 +0000 (17:17 -0800)]
Merge branch 'master' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into branch-weiyu

4 years agoImplement both pthread_yield and c++ thread yield
weiyu [Wed, 20 Nov 2019 20:40:46 +0000 (12:40 -0800)]
Implement both pthread_yield and c++ thread yield

4 years agobug fix
bdemsky [Wed, 20 Nov 2019 19:56:43 +0000 (11:56 -0800)]
bug fix

4 years agoAdd datarace support for atomics and calloc
bdemsky [Wed, 20 Nov 2019 19:50:00 +0000 (11:50 -0800)]
Add datarace support for atomics and calloc

4 years agobug fixe
root [Fri, 15 Nov 2019 08:25:47 +0000 (00:25 -0800)]
bug fixe

4 years agoAdd pipe support
bdemsky [Fri, 15 Nov 2019 08:22:51 +0000 (00:22 -0800)]
Add pipe support

4 years agoVersion that finds the bug of iris
weiyu [Thu, 14 Nov 2019 22:30:19 +0000 (14:30 -0800)]
Version that finds the bug of iris

4 years agoNot sure why this change prevents a segfault in iris
weiyu [Tue, 12 Nov 2019 07:37:54 +0000 (23:37 -0800)]
Not sure why this change prevents a segfault in iris

4 years agoAvoid seg fault in the case where ensureModel is called in cds_func_entry and then...
weiyu [Sun, 10 Nov 2019 21:55:25 +0000 (13:55 -0800)]
Avoid seg fault in the case where ensureModel is called in cds_func_entry and then a normal memory access comes before first recorded ModelAction

4 years agoBug fixing
weiyu [Fri, 8 Nov 2019 23:22:00 +0000 (15:22 -0800)]
Bug fixing

4 years agoDo not allow a thread to stash the next pending action if its last action was a SLEEP...
weiyu [Fri, 1 Nov 2019 20:58:16 +0000 (13:58 -0700)]
Do not allow a thread to stash the next pending action if its last action was a SLEEP action. Fix the problem that when all the unfinished threads are sleeping (e.g. nanosleep), this execution is reported as redundant

4 years agoFix a typo
weiyu [Thu, 31 Oct 2019 23:28:22 +0000 (16:28 -0700)]
Fix a typo

4 years agoAdd a collision list for FuncInsts with the same source line number
weiyu [Wed, 23 Oct 2019 19:26:48 +0000 (12:26 -0700)]
Add a collision list for FuncInsts with the same source line number

4 years agoSome edits
weiyu [Wed, 23 Oct 2019 00:29:49 +0000 (17:29 -0700)]
Some edits

4 years agoChecking whether every write in the rf_set satisfies read modification order does...
weiyu [Tue, 22 Oct 2019 23:18:38 +0000 (16:18 -0700)]
Checking whether every write in the rf_set satisfies read modification order does not seem to cause much overhead

4 years agoAdd a hash function for 64-bit int to improve the performance of val_loc_map in FuncN...
weiyu [Mon, 21 Oct 2019 22:08:34 +0000 (15:08 -0700)]
Add a hash function for 64-bit int to improve the performance of val_loc_map in FuncNode when running mb_rc_test

4 years agoChange the implementation of sleep and remove NOOP
weiyu [Fri, 18 Oct 2019 23:24:40 +0000 (16:24 -0700)]
Change the implementation of sleep and remove NOOP

4 years agoModified the implementation of usleep and make ModelExecution process "THREAD SLEEP...
weiyu [Fri, 18 Oct 2019 22:26:41 +0000 (15:26 -0700)]
Modified the implementation of usleep and make ModelExecution process "THREAD SLEEP" actions

4 years agoRemove a redundant SnapVector
weiyu [Fri, 18 Oct 2019 18:10:34 +0000 (11:10 -0700)]
Remove a redundant SnapVector

4 years agoCalculate store visibility probability and change the shift of a few hashtables in...
weiyu [Fri, 18 Oct 2019 01:38:18 +0000 (18:38 -0700)]
Calculate store visibility probability and change the shift of a few hashtables in ModelExecution

4 years agoThe higher the sleep score, the more likely the fuzzer makes a thread sleep
weiyu [Wed, 16 Oct 2019 18:09:35 +0000 (11:09 -0700)]
The higher the sleep score, the more likely the fuzzer makes a thread sleep

4 years agoFinal fix; needs to be careful about the side effect of NewFuzzer::find_threads
weiyu [Wed, 16 Oct 2019 00:38:18 +0000 (17:38 -0700)]
Final fix; needs to be careful about the side effect of NewFuzzer::find_threads

4 years agoFix
weiyu [Tue, 15 Oct 2019 23:27:04 +0000 (16:27 -0700)]
Fix

4 years agoFixes
weiyu [Tue, 15 Oct 2019 23:26:09 +0000 (16:26 -0700)]
Fixes

4 years agoAdd sleep score
weiyu [Tue, 15 Oct 2019 19:41:26 +0000 (12:41 -0700)]
Add sleep score

4 years agoLittle adjustment
weiyu [Tue, 15 Oct 2019 00:48:50 +0000 (17:48 -0700)]
Little adjustment

4 years agoFix bug
weiyu [Sat, 12 Oct 2019 02:35:06 +0000 (19:35 -0700)]
Fix bug

4 years agoAdd an exit node in predicate trees
weiyu [Fri, 11 Oct 2019 23:09:13 +0000 (16:09 -0700)]
Add an exit node in predicate trees

4 years agoDesign a method to select predicate branches based on exploration counts
weiyu [Fri, 11 Oct 2019 00:33:57 +0000 (17:33 -0700)]
Design a method to select predicate branches based on exploration counts

4 years agoAvoid using a HashTable to associate FuncInsts with ModelActions; a slight improvemen...
weiyu [Thu, 10 Oct 2019 18:50:04 +0000 (11:50 -0700)]
Avoid using a HashTable to associate FuncInsts with ModelActions; a slight improvement in performance

4 years agoTurns out that calling Predicate::evaluate in FuncNode::follow_branch and NewFuzzer...
weiyu [Thu, 10 Oct 2019 00:34:25 +0000 (17:34 -0700)]
Turns out that calling Predicate::evaluate in FuncNode::follow_branch and NewFuzzer::prune_writes slows down the fuzzer

4 years agoPerformance fix; delete unused data structures
weiyu [Thu, 10 Oct 2019 00:32:32 +0000 (17:32 -0700)]
Performance fix; delete unused data structures

4 years agoSelect a new predicate branch when the selected branch in the predicate tree fails...
weiyu [Wed, 9 Oct 2019 22:54:44 +0000 (15:54 -0700)]
Select a new predicate branch when the selected branch in the predicate tree fails and the failed thread can not find any other thread to wait for

4 years agoSome edits
weiyu [Wed, 9 Oct 2019 22:09:42 +0000 (15:09 -0700)]
Some edits

4 years agoToward implementing the counter approach to monitor threads
weiyu [Wed, 9 Oct 2019 02:00:15 +0000 (19:00 -0700)]
Toward implementing the counter approach to monitor threads

4 years agoMonitor threads when they enter functions and decide if others (if there is any)...
weiyu [Tue, 8 Oct 2019 22:11:06 +0000 (15:11 -0700)]
Monitor threads when they enter functions and decide if others (if there is any) should keep waiting for them

4 years agoAdd some documentation for WaitObj
weiyu [Tue, 8 Oct 2019 20:35:53 +0000 (13:35 -0700)]
Add some documentation for WaitObj

4 years agoBFS with distance was not implemented correctly
weiyu [Tue, 8 Oct 2019 20:28:49 +0000 (13:28 -0700)]
BFS with distance was not implemented correctly

4 years agoFix a bug
weiyu [Tue, 8 Oct 2019 20:01:21 +0000 (13:01 -0700)]
Fix a bug

4 years agoEvery time a thread enters a function, check whether other threads should still wait...
weiyu [Tue, 8 Oct 2019 01:28:20 +0000 (18:28 -0700)]
Every time a thread enters a function, check whether other threads should still wait for this thread or not.

4 years agoFix methods
weiyu [Mon, 7 Oct 2019 18:55:22 +0000 (11:55 -0700)]
Fix methods

4 years agoAdd some methods for WaitObj
weiyu [Sat, 5 Oct 2019 02:02:10 +0000 (19:02 -0700)]
Add some methods for WaitObj

4 years agoCreate WaitObj to store information about which thread is waiting for whom and is...
weiyu [Sat, 5 Oct 2019 01:39:15 +0000 (18:39 -0700)]
Create WaitObj to store information about which thread is waiting for whom and is waiting by whom

4 years agoAdd default memory allocation and free functions for HSIterator and some other tiny...
weiyu [Sat, 5 Oct 2019 01:36:29 +0000 (18:36 -0700)]
Add default memory allocation and free functions for HSIterator and some other tiny stuff

4 years agoCompute the threads that a paused thread my wait for
weiyu [Fri, 4 Oct 2019 00:51:41 +0000 (17:51 -0700)]
Compute the threads that a paused thread my wait for

4 years agoToward computing which threads a paused thread may wait for
weiyu [Thu, 3 Oct 2019 01:26:36 +0000 (18:26 -0700)]
Toward computing which threads a paused thread may wait for

4 years agoDo not unset FuncInst locations when new executions start; check if execution numbers...
weiyu [Wed, 2 Oct 2019 23:23:56 +0000 (16:23 -0700)]
Do not unset FuncInst locations when new executions start; check if execution numbers match instead