Affiliation: | a Department of Computer Science, American University of Sharjah, Box 26666, Sharjah, United Arab Emirates b Department of Computer Engineering, Kuwait University, Kuwait City, Kuwait |
Abstract: | Concurrency constructs are widely used when developing complex software such as real-time, networking and multithreaded client–server applications. Consequently, testing a program, which includes concurrency constructs is a very elaborate and complex process. In this work, we first identify the different classes of synchronization anomalies that may occur in concurrent Java programs. We then consider testing concurrent Java programs against synchronization anomalies using dynamic data flow analysis techniques. Moreover, we show how the data flow analysis technique can be extended to detect such anomalies. |