A Java monitor is a Java class that defines one or more synchronized methods. Unlike a regular object, a Java monitor object is intended to be accessed by multiple threads simultaneously. Thus, testing a Java monitor can be significantly different from testing a regular class. In this paper, we propose a state exploration-based approach to testing a Java monitor. A novel aspect of our approach is that during exploration, threads are introduced on-the-fly, and as needed, to simulate race conditions that can occur when multiple threads try to access a monitor object at the same time. Furthermore, each transition is defined in a way such that the behavior of the threads along each path can be precisely characterized and controlled. We describe...
Abstract. To assist developing robust multithreaded software, we develop a thread monitoring system ...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
The monitor concept provides a structured and flexible high-level programming construct to control c...
[[abstract]]In this thesis, we study how to apply the dynamic effective testing to Java programs whi...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
This paper describes the formalisation of Java thread synchronisation in an extended Owicki-Gries th...
The Java language supports the use of monitors, sockets, and remote method invocation for concurrent...
It is all too easy to write unsafe multithreaded Java code, in part because the languages notify() a...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Model checking software programs is an effective approach for finding bugs in program by systematica...
Testing concurrent software is difficult due to problems with inherent nondeterminism. In previous w...
The Java programming language supports monitors. Monitor implementations, like other concurrent prog...
Abstract. Current approaches to the development of reliable software systems include decomposition i...
As we move into the era of multi-core processors, a lot more software developers are writing concurr...
With increasing power of today’s computers, the Java programming language is more and more chosen by...
Abstract. To assist developing robust multithreaded software, we develop a thread monitoring system ...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
The monitor concept provides a structured and flexible high-level programming construct to control c...
[[abstract]]In this thesis, we study how to apply the dynamic effective testing to Java programs whi...
The main limitation of software model checking is that, due to state explosion, it does not scale to...
This paper describes the formalisation of Java thread synchronisation in an extended Owicki-Gries th...
The Java language supports the use of monitors, sockets, and remote method invocation for concurrent...
It is all too easy to write unsafe multithreaded Java code, in part because the languages notify() a...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Model checking software programs is an effective approach for finding bugs in program by systematica...
Testing concurrent software is difficult due to problems with inherent nondeterminism. In previous w...
The Java programming language supports monitors. Monitor implementations, like other concurrent prog...
Abstract. Current approaches to the development of reliable software systems include decomposition i...
As we move into the era of multi-core processors, a lot more software developers are writing concurr...
With increasing power of today’s computers, the Java programming language is more and more chosen by...
Abstract. To assist developing robust multithreaded software, we develop a thread monitoring system ...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
The monitor concept provides a structured and flexible high-level programming construct to control c...