Browse Prior Art Database

Loop Scrolling

IP.com Disclosure Number: IPCOM000036391D
Original Publication Date: 1989-Sep-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 2 page(s) / 56K

Publishing Venue

IBM

Related People

Hamilton, DO: AUTHOR

Abstract

Loop scrolling allows a programmer to view the execution of a looping program in an abstract way (suitable for analyzing test coverage). The scrolling capabilities are in two dimensions: length and depth, as shown in Fig. 1. Scrolling in the depth dimension involves moving from one iteration of a loop to the next iteration, while scrolling in the length dimension involves moving from one loop to the next loop (at the same depth, i.e., within the same iteration of the outermost loop). There are two difficulties involved in doing this. The first is the complexity caused by nested loops and the second is redundancy among executions of a loop (i.e., same path is executed several consecutive times).

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 2

Loop Scrolling

Loop scrolling allows a programmer to view the execution of a looping program in an abstract way (suitable for analyzing test coverage). The scrolling capabilities are in two dimensions: length and depth, as shown in Fig. 1. Scrolling in the depth dimension involves moving from one iteration of a loop to the next iteration, while scrolling in the length dimension involves moving from one loop to the next loop (at the same depth, i.e., within the same iteration of the outermost loop). There are two difficulties involved in doing this. The first is the complexity caused by nested loops and the second is redundancy among executions of a loop (i.e., same path is executed several consecutive times).

An approach to overcome/manage these difficulties is depicted in Fig. 2. Two inputs are used: a copy of the program (source) and a listing of the statements executed (trace data). From the source, a directed graph representation of the control flow is generated. From

(Image Omitted)

the digraph and the trace data, a loop tree is generated which contains: (1) the loops in the program represented as a hierarchy (to show nesting) and (2) the paths executed within each loop. This tree contains two types of nodes: loop nodes and iteration nodes. A loop node represents a specific loop in the program, while an iteration node represents a specific execution sequence (i.e., path) of that loop (represented by its parent node). Paths which are executed consecutively ar...