SUMMARYRecently, scripting languages have received growing attention from the software engineering community. With the advent of Java, existing scripting languages have started to integrate with the rich API of the Java platform. In this work we introduce Iava, an interpreter for scripting the Java platform. In contrast to existing scripting languages for the Java platform, the Iava interpreter accepts a strict subset of Java. Iava is implemented in Java using the reflection Application Programming Interface (API) and can be integrated into any Java-based application. This article describes why we consider scripting Java software systems with Iava a useful approach. We explain why Iava only accepts a subset of Java and what the difference between that subset and the full language is. We describe the implementation patterns that provide a high level of integration between Iava and embedding Java classes. We demonstrate the benefits of Iava using a scriptable text editor. As another example for the use of Iava, we integrate Iava with an existing framework for class testing (Ref.[1], Beck K, Gamma E. Test infected: Programmers love writing tests. Java Report; SIGS Publications, 1998.). We sketch how to use Iava for distribution script processing -a useful tool for testing distributed Java applications.