FIELD is a comprehensive programming environment consisting of a number of our own tools, mainly for software visualization, and wrappers for most UNIX programming tools that were extant during its development. It provides an integrated environment through the use of a central message server that lets the various wrappers (and tools) send messages to one another. Integrating the tools with the source files was done through an annotation editor that supported arbitrary annotations on source lines and tied these annotations to messages. FIELD included a variety of visualizations including structural visualizations, data structure visualizations, and dynamic visualizations of the heap and files.
FIELD: The Friendly Integrated Environment for Learning and Development, Kluwer Press, 1994.
Talk on FIELD.
Man pages for FIELD tools.
FIELD User Manual.
Tutorial on using FIELD. (older version)
SDT: A programming language for debugging, Unpublished, 1989.
Visualization for Software Engineering -- Programming Environments, in Software Visualization, Programming as a Multimedia Experience, MIT Press, 1997.
Visually monitoring program execution, Unpublished, 1991.
Interacting with the FIELD Environment, Software Practice and Experience, June 1990.
Connecting tools using Message Passing, IEEE Software, July 1990.
FIELD Support for C++, Proc. USENIX C++ Conference, April 1990.
CCEL: A metalanguage for C++, Proc. Second USENIX C++ Conference, August 1992.
Support for Maintaining Object-Oriented Programs, IEEE Trans. on Software Engineering, December 1992.
An Empiracal Study of multiple-view Software Development, Software Eng. Notes, December 1992.
Displaying Program and Data Structures, 20th HICSS, January 1987.
Using GELO to visualize Software Systems, Proc. UIST '89.
On the use of Annotations for Integrating the Source in a Program Development Environment, in Human Factors in the Design and Analysis of Information Systems, North-Holland, 1990.
An overview of the full environment
The annotation editor
The debugger interface
The event viewer
The stack viewer
The traced variable viewer
The standard I/O viewer
The cross-reference viewer
The call graph viewer (showing all of FIELD)
The call graph viewer showing the program in action
The class hierarchy browser
The performance (prof/gprof) browser
The configuration management viewer
Data Structure display
The editor for setting up customized data structure displays
Customized data structure display
The heap visualizer
The I/O visualizer
The performance visualizer
Field has been somewhat ported to Linux and the later versions of Solaris. Note that many portions of the system are not maintained and do not work any more. In particular, many debugger features and some of the profiling tools are non-functional. However, if you want to look at the code or try things out, you are welcome to.
Download the Source.