Browse Prior Art Database

Program Behavior Analyzer and Detector

IP.com Disclosure Number: IPCOM000045457D
Original Publication Date: 1983-Mar-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Jones, K: AUTHOR [+2]

Abstract

Introduction. A process for verifying correct program execution and error detection is described. The main theme is that an abstract definition of program behavior is given to an auditor. As the program runs, it sends behavior data to the auditor and the data is compared with the abstract definition. If the behavior data fits the definition, the program behavior is accepted. If the behavior data does not fit the abstract definition, the program behavior is rejected and corrective action started. This concept pertains to the behavior data, its abstract specification, and its detection process, but not to the ensuing corrective procedures that would be invoked.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 58% of the total text.

Page 1 of 2

Program Behavior Analyzer and Detector

Introduction. A process for verifying correct program execution and error detection is described. The main theme is that an abstract definition of program behavior is given to an auditor. As the program runs, it sends behavior data to the auditor and the data is compared with the abstract definition. If the behavior data fits the definition, the program behavior is accepted. If the behavior data does not fit the abstract definition, the program behavior is rejected and corrective action started. This concept pertains to the behavior data, its abstract specification, and its detection process, but not to the ensuing corrective procedures that would be invoked.

Operation. A computer program can be thought of as the existence of a computer state which can be named. The name can be translated into a symbol or character which can be stored in a computer and processed. If the sequence of symbols produced by a series of programs is placed one after the other, the result is a string of symbols or characters satisfying a set of rules. Because a string of symbols constitutes a language, it is possible to apply interpreter technologies to the problem of verifying program operation or behavior.

As an example, the following program would have five readily identifiable states associated with it: 10PRINT'A';

:FORI=1 to M

:PR INT'B';

:FORJ=1 to N

:PR INT'C';

: NEXT

: PRINT'D';

: NEXT

:PR INT'E'

An example of printed output indicating correct operation would be 'ABCDBCDE'. An example illustrating abnormal behavior would be 'ACDE', where the first point of error action occurred between the 'A' and the 'C' The example can be described in a BNF notation as.

The productions can then be used to build a recognizer which will accept or reject the strings. The following steps outline the analyzer detector process:
Step 1 The BNF statements are used to develop a recognizer that will accept the abstract program language described.

Step 2 The recognizer uses a specialized input scanner which goes to the program to obtain the next token representing

the state of the program.

Step 3 During program operation the tokens are obtained and compared to the token sequences expected, as specified

in the BNF statements.

Step 4 If the tokens appear in the correct sequence, the state of of the program is accepted and program...