Perspectives on Software
Oregon Health & Science University, Portland OR
Investigators
Abstract
Our ability to build complex software systems relies on composition techniques that enable complete programs to be constructed from smaller pieces. A particular decomposition imposes a structure that makes it possible to manage the complexity of a large system. But the same decomposition can also make it harder to add or change features that cut across the structure. The thesis of this project is that the design, evolution, and comprehension of software can be better supported by tools that allow programmers to examine and work with multiple perspectives of a system. In particular, such tools empower programmers to think of programs, not as linear texts, but as equivalence classes of concrete views, each of which might be appropriate for different tasks. The project develops both foundational results and practical tools for representing and manipulating software. Firm semantic foundations are provided by a new algebraic framework for reasoning about the construction of complex software systems. Practical experience is obtained by developing and experimenting with an interactive browser and editor based on the same algebra. This tool will allow programmers to explore and modify a software system from multiple perspectives, some user-defined, and some automatically generated.
View original record on NSF Award Search →