Developing a general component system for a statically typed, object-oriented language is a challenging design problem for two reasons. First, mutually recursive references across...
Software support for making effective pen-based applications is currently rudimentary. To facilitate the creation of such applications, we have developed SATIN, a Java-based toolk...
—A software product line (SPL) is an efficient means to generate a family of program variants for a domain from a single code base. However, because of the potentially high numb...
Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 package java.util.concurrent (j.u.c.) supports writing concurrent programs: much of...
Objects often define usage protocols that clients must follow in order for these objects to work properly. Aliasing makes it notoriously difficult to check whether clients and i...