Javiva: a tool for visualizing and validating student-written Java programs

  • Authors:
  • Joseph A. Turner;Joseph L. Zachary

  • Affiliations:
  • School of Computing, University of Utah, Salt Lake City, UT;School of Computing, University of Utah, Salt Lake City, UT

  • Venue:
  • Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The ability to think abstractly about the components of a computer program is critical for computer science students. A student who has not yet developed this ability tends to view a program as an unstructured collection of statements and expressions. Introductory computer science textbooks promote the use of pre-conditions, post-conditions, and abstraction functions as techniques for fostering abstract thinking. Existing programming languages and tools, however, do not generally support these techniques. Consequently, we have built and are beginning to experiment with Javiva. Javiva extracts pre-conditions, post-conditions, and abstraction functions---included as stylized comments in Java source files---and uses them to create instrumented class files. When these instrumented class files are run, they automatically diagnose and report violations by methods of pre- and post-conditions. These classes also exploit abstraction functions to automatically produce abstract visualizations of their objects.