Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Stutter-invariant temporal properties are expressible without the next-time operator
Information Processing Letters
Model-checking of correctness conditions for concurrent objects
Information and Computation - Special issue: LICS 1996—Part 1
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generic approach to the static analysis of concurrent programs with procedures
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Stutter-Invariant Languages, omega-Automata, and Temporal Logic
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Summarizing procedures in concurrent programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analysis of recursive state machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Testing implementations of transactional memory
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
What do high-level memory models mean for transactions?
Proceedings of the 2006 workshop on Memory system performance and correctness
Subtleties of Transactional Memory Atomicity Semantics
IEEE Computer Architecture Letters
High-level small-step operational semantics for transactions
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of transactional memory and automatic mutual exclusion
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying Correctness of Transactional Memories
FMCAD '07 Proceedings of the Formal Methods in Computer Aided Design
On the correctness of transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
On-the-Fly reachability and cycle detection for recursive state machines
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Reasoning about threads communicating via locks
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Hi-index | 0.00 |
There has been a lot of recent research on transaction-basedconcurrent programming, aimed at offering an easier concurrentprogramming paradigm that enables programmers to better exploit theparallelism of modern multi-processor machines, such as multi-coremicroprocessors. We introduce Transactional State Machines (TSMs) as an abstract finite-data model of transactionalshared-memory concurrent programs. TSMs are a variant of concurrentboolean programs (or concurrent extended recursive state machines)augmented with additional constructs for specifying potentiallynested transactions. Namely, some procedures (or code segments) canbe marked as transactions and are meant to be executed"atomically", and there are also explicit commit andabort operations for transactions. The TSM model isnon-blocking and allows interleaved executions where multipleprocesses can simultaneously be executing inside transactions. Italso allows nested transactions, transactions which may neverterminate, and transactions which may be aborted explicitly, oraborted automatically by the run-time environment due to memoryconflicts. We show that concurrent executions of TSMs satisfy a correctnesscriterion closely related to serializability, which we callstutter-serializability, with respect to shared memory. We initiatea study of model checking problems for TSMs. Model checkingarbitrary TSMs is easily seen to be undecidable, but we show it isdecidable in the following case: when recursion is exclusively usedinside transactions in all (but one) of the processes, we show thatmodel checking such TSMs against all stutter-invariantω-regular properties of shared memory is decidable.