Abstract

The understanding of program behavior is becoming vitally more important now that software is becoming an integral part of industry and everyday life. However, even the best documented code is often not sufficient enough to completely and correctly relay the actual program behavior. The problem lies beyond being familiar with the programming language and is hidden in the complex mathematics which govern the program's behavior. This behavior is not easily detected and varies from one program to the next. We propose a method for describing program behavior using two general properties of iterative programs: feasibility and progress. This method can be easily applied to trivial and simple code but an automated tool is required to generate the properties for more realistic code. Therefore, an automated program visualization tool was developed to illustrate the program's behavior in terms of the two properties proposed. Wheels take as input program code, reverse engineers the behavior by analyzing the code and then visually relays the extracted information back to the user allowing the user to gain a visual understanding of program behavior. The intent of this research is to use this understanding as a means of learning and teaching as well as a means for providing run time assurance to check the expected behavior.

Department(s)

Computer Science

Comments

The first Author is a Graduate Studennt.

This work was supported in part by the National Science Foundation under grant number MSS-9216479, and, in part, by the Air Force Office of Scientific Research under contract numbers F49620-92-J-0546 and F49620-93-I-0409.

Keywords and Phrases

Program Behavior, Program Understanding, Program Visualization, Geometric Behavior, Software Re-engineering, Automated Tool, Program Abstraction

Report Number

CSc-95-11

Document Type

Technical Report

Document Version

Final Version

File Type

text

Language(s)

English

Rights

© 1995 University of Missouri - Rolla, All rights reserved

Publication Date

20 March, 1996

Share

 
COinS