-
Notifications
You must be signed in to change notification settings - Fork 2
Home
bradbury edited this page Sep 13, 2011
·
3 revisions
The ConMAn (Concurrency Mutation Analysis) operators were developed for Java (J2SE 5.0). There are 24 ConMAn operators and each operator was based on real concurrency bug patterns. Each operator is implemented in TXL - a source transformation language. The authors of ConMan are Jeremy S. Bradbury (Univeristy of Ontario Institute of Technology), James R. Cordy (Queen's University) and Juergen Dingel (Queen's University).
- MXT – Modify Method-X Time (wait(), sleep(), join(), and await() method calls)
- MSP - Modify Synchronized Block Parameter
- ESP - Exchange Synchronized Block Parameters
- MSF - Modify Semaphore Fairness
- MXC - Modify Permit Count in Semaphore and Modify Thread Count in Latches and Barriers
- MBR - Modify Barrier Runnable Parameter
- RTXC – Remove Thread Method-X Call (wait(), join(), sleep(), yield(), notify(), notifyAll() Methods)
- RCXC – Remove Concurrency Mechanism Method-X Call (methods in Locks, Semaphores, Latches, Barriers, etc.)
- RNA - Replace notifyAll() with notify()
- RJS - Replace join() with sleep()
- ELPA - Exchange Lock/Permit Acquisition
- EAN - Exchange Atomic Call with Non-Atomic
- ASTK – Add static Keyword to Method
- RSTK – Remove static Keyword from Method
- RSK - Remove synchronized Keyword from Method
- RSB - Remove synchronized Block
- RVK - Remove volatile Keyword
- RFU - Remove finally Around Unlock
- RXO - Replace One Concurrency Mechanism-X with Another (Locks, Semaphores, etc.)
- EELO - Exchange Explicit Lock Objects
- SHCR - Shift Critical Region
- SKCR - Shrink Critical Region
- EXCR – Expand Critical Region
- SPCR - Split Critical Region