Browse Prior Art Database

Dynamic Analysis System

IP.com Disclosure Number: IPCOM000074191D
Original Publication Date: 1971-Mar-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 3 page(s) / 48K

Publishing Venue

IBM

Related People

Manasseri, RJ: AUTHOR [+3]

Abstract

The dynamic analysis system (DAS) monitors programs written in high-level languages. DAS may be implemented as a generalized program, for which generality is achieved in the following manner: 1) It can be written in a modular structure to enable the processing of programs written in any of a large set of programming languages. Language independence is accomplished by allowing the easy inclusion of user-written application routines for particular language applications. 2) For a given language, the specific application routines for selecting the instructions whose execution is to be monitored can employ a variety of selection algorithms, for example, by selecting particular instruction types, labeled instructions, etc.

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 53% of the total text.

Page 1 of 3

Dynamic Analysis System

The dynamic analysis system (DAS) monitors programs written in high-level languages. DAS may be implemented as a generalized program, for which generality is achieved in the following manner: 1) It can be written in a modular structure to enable the processing of programs written in any of a large set of programming languages. Language independence is accomplished by allowing the easy inclusion of user-written application routines for particular language applications. 2) For a given language, the specific application routines for selecting the instructions whose execution is to be monitored can employ a variety of selection algorithms, for example, by selecting particular instruction types, labeled instructions, etc. 3) A routine which actually monitors a program execution might, via an extension of a present system, count target instruction execution and time intervals between these executions.

The DAS system consists of three distinct phases: I. machine code program preparation, II. modified machine code program execution, and III. post-process reporting. The drawing provides an overview of the entire process.

A compiler for any high-level language provides as its output the machine code representing the translation of an input program written in the high-level language. This output machine code is item 11 in the drawing.

During phase I, target instructions are selected from the machine code 11 by a user-written machine code scan routine 12 which selects required instructions from the machine code 11 to provide the machine coded program (MCP) preparation step 13. These selected instructions will be implanted into the machine coded program (MCP)10. The selected instructions are of the type which will generate program computer interruptions, such as the SVC type in an IBM S/360 data processing system. A machine code instruction selected for monitored execution is called a target instruction. At this time, a modified compiler output data set 14 and a modification location table 15 are also created. Machine code program (MCP)10 is then modified by step 16 implanting the selected instructions received from step 13 to generate the modified MCP 17.

During phase II, DAS gains control of the system interrupt handler program and step 21 executes the modified machine code program 17. Upon the occurrence of a program interruption at an inserted selected instruction, DAS, using the modification location table 15 as a guide, substitutes execution of the original machine code instruction and updates an execution statistics table 22.

During phase III, a post-process re...