Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Automatic consistency checking of computer programs

Inactive Publication Date: 2005-02-03
HALPERN MORDECHAI
View PDF1 Cites 3 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0014] Where a block is subject to a move from its current position within the segment to a new position within the segment, the method identifies all downstream entry pages that are affected by the move and all upstream exit pages are checked to identify whether as a result of the move there are any data elements associated with the virtual entry page for the block that are not available from an upstream exit page so that logical consistency may be maintained. If a block is subject to a move from its current execution path within the segment to a new execution path within the segment, all downstream entry pages are identified in the new execution path that are affected by the move and all upstream exit pages are checked in the new execution path to identify whether as a result of the move there are any data elements associated with the virtual entry page for the block that are not available from an upstream exit page so that logical consistency may be maintained.
[0020] If a block is modified in such a way as to require a modification in a virtual entry page associated with the block, the modification checker component uses the result to examine upstream pages to identify any data element, in the virtual entry page, that lacks a logical dependency on one or more data elements occurring in one or more ancestor pages. If a block is subject to a move from its current position within the segment to a new position within the segment, the modification checker component uses the result to identify all downstream entry pages that are affected by the move. If a block is moved from its current position within the segment to a new position within the segment, the modification checker component uses the result to identify all downstream entry pages that are affected by the move and checks all upstream exit pages to identify whether as a result of the move there are any data elements associated with the virtual entry page for the block that are not available from an upstream exit page so that logical consistency may be maintained. If a block is moved from its current execution path within the segment to a new execution path within the segment, the modification checker component uses the result to identify all downstream entry pages in the new execution path that are affected by the move and to check all upstream exit pages in the new execution path to identify whether as a result of the move there are any data elements associated with the virtual entry page for the block that are not available from an upstream exit page so that logical consistency may be maintained. If a block is moved from its current execution path within the segment to a new execution path within the segment, the modification checker component uses the result to identify all downstream entry pages that are affected in the current execution path by the move to the new execution path and to check all upstream exit pages in the current execution path to identify whether as a result of the move to the new execution path there are any data elements associated with the virtual entry page for the block that are not available from an upstream exit page so that logical consistency may be maintained.

Problems solved by technology

Even if a program is executable and is executed on a computer, the program still may not function correctly.
If a function passes a variable to another process within the program and the variable does not contain an acceptable value, the end data may be faulty.
A modification by a programmer to a single variable may affect multiple and disjointed lines of code producing errors that may be difficult to trace manually.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Automatic consistency checking of computer programs
  • Automatic consistency checking of computer programs
  • Automatic consistency checking of computer programs

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0042] In accordance with a preferred embodiment of the invention, a method can identify inconsistent data elements in a program segment of a computer program so that the program is easy to modify and repair by a programmer. In such an embodiment of the system, if the segment includes an inconsistency, the inconsistency is flagged and indicated visually to the programmer. The embodiment checks for both functional consistency and component consistency.

[0043] For the purposes of the description herein and the claims that follow it, unless the context otherwise requires, the term “block” refers to any functional piece of code and may include functions, object-methods, forms, hyper text markup language (HTML), World Wide Web pages, or computer language code. As used in this description and the accompanying claims, the term “computer language code” refers to the text for any known system of associating commands with a computer, such text may be in languages including Java, Basic, C, C++...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A method, for use with a computer having memory, for structuring a program segment, is described. A series of program blocks in the segment are identified. Each block is a functional piece of code in the segment and has at least one point corresponding to at least one of entry and exit, in such a manner that the entire segment is divided into blocks with each block being situated in an execution path along which the segment executes in a downstream direction. With respect to each block, a block representative is associated. The block representative allocates computer memory for data elements that are needed for the associated block to execute. The block representative also assigns a value to any data element required by the associated block to have a value. Additionally, the block representative calls the associated block for execution, receives return of control after execution of the block, and passes control based on available data.

Description

[0001] This application claims priority from U.S. application Ser. No. 09 / 519,506, filed Mar. 6, 2000 and 60 / 122,830 filed Mar. 4, 1999, the full disclosure of which is hereby incorporated by reference herein.TECHNICAL FIELD [0002] The present invention relates to computer programming and more specifically to systems for checking computer programs. BACKGROUND ART [0003] Currently, program development is generally accomplished within a programming environment which contains multiple development tools. One example of a programming environment is the Visual C++ programming environment as distributed by the Microsoft Corporation, Redmond, Wash. A programmer may use the environment to create a workspace which links together multiple files of a program, to compile the program using the environment's compiler, and to debug the program using the environment's debugger. Even though these tools exist, the programer must keep track of the various connections between variables, classes, procedu...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/50G06F11/36
CPCG06F11/362G06F9/5016
Inventor HALPERN, MORDECHAI
Owner HALPERN MORDECHAI
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products