One of the factors that can make a program di cult to understand is that code responsible for accomplishing more than one purpose may be woven together in a single section. We cal...
Successful software maintenance is becoming increasingly critical due to the increasing dependence of our society and economy on software systems. One key problem of software main...
In a previous paper, we developed an algebraic theory of threads and multi-threads based on strategic interleaving. This theory includes a number of plausible interleaving strategi...
Concurrency bugs are becoming increasingly important due to the prevalence of concurrent programs. A fundamental problem of concurrent program bug detection and testing is that th...
Multicore hardware is making concurrent programs pervasive. Unfortunately, concurrent programs are prone to bugs. Among different types of concurrency bugs, atomicity violation bu...