This project involves the development of practical programming tools in an integrated and open framework. Tools that support modern programming must deal with large systems, multiple programmers, multiple languages, a mixture of existing and new code, and multiple processes and threads. The work combines a variety of tools in an open, extensible, and powerful setting using control integration and a simple form of data integration based on fragments. Fragments are semantically significant portions of a program artifact: definitions or scopes in a source file, sections of documentation file, rules in a configuration description, etc. The approach to integration identifies such fragments and keeps references to them in a simple and small central database. This information is augmented with the data necessary to identify fragments using database queries, essentially usedef chains and small amounts of tool-specific information. In addition to fragment and control integration, the environment provids common facilities for defining and managing the files and contexts that make up a project, and a common editor for all software artifacts. The project manager serves as a front end for managing version control, configuration management, and multiple programmers. The common editor provides high quality typography along with support for hypertext links and graphics. On top of this environmental framework, this project investigates the development and utility of a variety of programming tools. The research extends visualization tools using a 3D visualization package developed under a previous NSF grant. A single front end would allow the programmer to specify both what information (from a variety of sources) should be visualized and how it should be presented for each particular application. Experiments measure the ffectiveness of visualizations for understanding both the static structure and the dynamic behavior of complex systems. A third set of tools involves editing. The project would extend an existing editor to allow programmers to view the system as a single electronic document with dynamic and static links connecting the various software artifacts. These links would be defined either by built-in queries (e.g. go to the definition of a name), by user-defined queries, or by static links.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9422625
Program Officer
Frank D. Anger
Project Start
Project End
Budget Start
1995-06-01
Budget End
1999-08-31
Support Year
Fiscal Year
1994
Total Cost
$265,000
Indirect Cost
Name
Brown University
Department
Type
DUNS #
City
Providence
State
RI
Country
United States
Zip Code
02912