Learn More
Java's threads offer appropriate means either for parallel programming of SMPs or as target constructs when compiling add-on features (e.g. forall constructs, automatic par-allelization, etc.) Unfortunately, Java does not provide elegant and straightforward mechanisms for parallel programming on distributed memory machines, like clusters of workstations.(More)
JPlag is a web service that nds pairs of similar programs among a given set of programs. It has successfully been used in practice for detecting plagiarisms among student Java program submissions. Support for the languages C, C++ and Scheme is also available. The contribution of this paper is threefold: First, we describe JPlag's design (architecture and(More)
ÐUsing design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). This paper focuses on the maintenance context and reports on experimental tests of the following(More)
SUMMARY During the last decade object-oriented programming has grown from marginal influence into widespread acceptance. During the same period, progress in hardware and networking has changed the computing environment from sequential to parallel. Multi-processor workstations and clusters are now quite common. Unnumbered proposals have been made to combine(More)
In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same(More)
In this paper we present JaMP, an adaptation of the OpenMP standard. JaMP is fitted to Jackal, a software-based DSM implementation for Java. While the set of supported directives is directly adopted from the OpenMP standard, we also satisfy all requirements that are enforced by the Java Language Specification and the Java Memory Model. JaMP implements a(More)