Static Analysis of Java for Distributed and Parallel Programming
Abstract
We investigate the use of static analysis for building distributed and parallel programs in Java. We first quickly explain a principle of seamless sequential, multithreaded and distributed programming using Java, in order to enhance code reuse and code evolution. We exhibit conditions on the graph of objects to detect activable objects and transform a sequential program into a distributed or parallel program using active objects. We then present a static analysis based on an abstract interpretation of a Java subset, which provides approximate sets of activable objects. Finally, we illustrate our algorithm and results with one example.