Data processing: software development – installation – and managem – Software program development tool – Testing or debugging
Reexamination Certificate
2001-07-19
2004-08-31
Das, Chameli C. (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Testing or debugging
C717S129000, C717S126000, C717S127000, C717S130000, C717S131000, C717S139000, C712S227000, C712S233000, C712S241000, C714S034000, C714S035000
Reexamination Certificate
active
06785883
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates, generally, to a software system for tracing data and, more specifically, to such a system wherein the separation of trace control data from the trace procedure allows the data to be traced by the trace procedure to be stipulated very flexibly and without retranslating the trace procedure.
2. Description of the Prior Art
In a contemporary device for processing information, a multiplicity of information processing operations, also called “processes,” are normally executed on the process-handling devices provided in the device; e.g., processors. In this context, a process is understood to be the operation of information processing taking place in algorithm form; i.e., in a series of individual information processing steps. Examples of processes are the editing of files or the sending of e-mails. Examples of information processing steps are opening, printing and/or storing a file or changing a memory area in the main memory.
The information processing steps are performed by a processor under the control of programs having a succession of instructions, also called “machine commands.” In this context, different machine commands characterize different fundamental processing steps of the processor. Examples of fundamental processing steps are arithmetic operations; e.g., integer addition or subtraction. The program thus indicates to the processor which of its fundamental processing steps needs to be carried out in which order. To carry out the information processing steps, the programs use different components of a contemporary information processing device, depending on the type of information processing steps. These components are also called “operating parts.” Examples of operating parts are printers, processors, memory space or files. To ensure that the operating parts have the best possible utilization level, the operating parts are normally used simultaneously; i.e., reciprocally or jointly. This operating mode of the device is called “multiprogram operation” or “multitasking.” That is, the device appears to process a number of programs simultaneously. In this context, the programs can be processed sequentially, i.e., one after the other, or in parallel, i.e., with their timing intermeshed. The intermeshed processing of a number of programs is also called “interleaving.”
Since, by way of example, the simultaneous use of the operating parts can give rise to conflicts (for example, when two programs wish to output data to the same printer simultaneously or wish to have write access to the same file simultaneously), an operating system is normally provided for managing the operating parts. In this context, an operating system includes those programs which, among other things, control and monitor access to the operating parts, the order of timing for processing the programs running in the device, and maintenance of the operating mode. For the purposes of distinction, these control programs are called “operating system programs” or else “system software,” and the programs using the system software to access the operating parts are called “user programs” or else “application software.”
To support this division of the programs into two classes, contemporary processors normally provide two operating modes, a privileged operating mode (also called “system mode”), in which all the machine commands can be executed without limitation of their mode of action, and an unprivileged operating mode (also called “user mode”), in which a few machine commands are limited in terms of their mode of action or are prohibited. By way of example, in the unprivileged operating mode, those machine commands which are used for direct access to the device's operating parts are prohibited. Normally, the application software is executed in the user mode, and the system software in the system mode. The application software can thus access the operating parts of the device only using the system software. The user programs thus contain no program parts which, by way of example, stipulate the memory cells of a main memory in which the user programs are stored, how and where the data of the user programs are stored on background stores, e.g., hard disks, the order in which the user programs are executed or how user programs and data are protected against unauthorized access. These and other tasks, e.g., management, control or monitoring tasks, are performed by the operating system. By way of example, the following fundamental information processing steps are performed by the operating system:
reading in a character from a keyboard;
outputting a character to a screen; and
reading a program into a memory.
For carrying out the fundamental information processing steps, different “operating system procedures” are provided in the operating system. In this context, procedures are machine command sequences combined to form units which can be called. These commands are generally called by the application software. In contemporary processors, an operating system procedure is normally called using a machine command which the processor uses to interrupt execution of the calling program and to branch it to the system software. The interruption is also called an “interrupt,” the machine command is also called an “SVC” (Supervisor Call), and the called operating system procedure is also called an “SVC procedure.” Once the called procedure has been processed completely, execution normally branches to the next machine command of the calling program; i.e., to the machine command which immediately succeeds the machine command SVC in the machine command sequence of the calling program.
In terms of opportunities for use which have the greatest possible degree of flexibility, procedures normally contain variable components, also called “formal parameters,” which are usually stipulated by the calling program when the procedure is called, by indicating “call parameters.” In this context, the formal parameters are replaced by the call parameters on the basis of specific rules, which are also called “parameter transfer.” When the procedure has been processed, the called procedure normally transfers to the calling program “result parameters” which contain an information item determined by the task of the procedure, e.g., an order confirmation, an error message or a value calculated or ascertained by the procedure. In this context, the value of the calculated result parameters frequently depends on the values of the call parameters.
However, procedures having formal parameters are more susceptible to error than procedures without formal parameters, on account of the greater degree of flexibility. They therefore need to be tested for freedom from error with relatively great care when programs are tested. In this context, two potential sources of error are of particular significance:
(1) The values of the result parameters of the procedures are generally not defined for all possible value combinations of the call parameters. It is therefore necessary to test whether the procedures are always called with permissible value combinations of the call parameters; and
(2) The procedures may have logical coding errors. It is therefore necessary to test whether the procedures deliver the desired result for each permissible combination of input values.
Thus, for the program test, i.e., searching for errors in the programs, logging of the call and result parameters of the procedures is of central importance for checking the procedures.
However, since the complexity of contemporary programs means that a full test for freedom from error is often not possible, even tested programs frequently still have errors which can arise during execution of the programs. In this context, the described central role of the operating system means that errors in the procedures of the operating system programs generally have greater consequences than errors in the user programs; e.g., failure of the device and of all the user programs running on it.
The normal method for finding errors is
Bell Boyd & Lloyd LLC
Das Chameli C.
Siemens Aktiengesellschaft
LandOfFree
Software system for tracing data does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Software system for tracing data, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software system for tracing data will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3300333