About

Leon Osterweil is developing process programming technology in the context of a distributed process-centered environment. This environment interprets process programs, using them to coordinate the efforts of people, computers, and software tools. It also provides a platform for the evaluation, comparison, analysis, evolution, and improvement of software development processes and their support. Programming software development processes will lead to better understanding and improvement of software production, as well as provide more effective computerized  support for such processes.

The goal of Osterweil's research in software analysis is to develop practical techniques that can help software developers determine whether software systems satisfy their requirements. The focus of most of this research is on the static analysis of concurrent software — the nondeterministic behavior introduced by concurrency means that dynamic analysis (testing) is not adequate for concurrent systems. Since concurrent systems are built of interacting sequential components, many of the techniques used for analyzing concurrent systems can also be applied to sequential software.

Osterweil is also developing a framework for tools interoperability that attempts to address a broad range of control and data model issues. Tool interoperability is a problem that must be addressed to allow software development environments to be extended easily with new tools or existing tools developed independently of other tools in the environment. Interoperability support allows tools written in a variety of programming languages to cooperate by sharing data and passing control among themselves. Some of the more difficult issues being addressed in this research are consistency management across multiple tools, exception handling, and persistence of shared objects.