FIELD: The Friendly Integrated Environment for Learning & Development


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.


Views of the Various Tools

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


Demonstration Videos

Get the Software

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.


This page has been translated into Russian by Timur Kadirov thanks to

This page has been translated into Bosnian bu Amina Dugalic.

This page has been translated into Ukrainian by Suzan Whittle.

This page has been translated into German by Josephine Murdoch.

This page has been translated into French by