Maintenance of code knowledge for up-to-date access thereof

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000, C707S793000, C709S241000

Reexamination Certificate

active

06360358

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to software development tools, and more particularly for the maintenance of code knowledge for up-to-date access thereof by and for such tools.
BACKGROUND OF THE INVENTION
Traditional software development tools are generally limited in the degree of assistance and task automation they provide for the software developers that use them. These limitations can largely be attributed to the lack of up-to-date information that the tools themselves possess about the code being developed. Generally, development tools maintain a textual form of a source code (or, source data) of a computer program being developed. However, deeper representation, derived from processing and analysis of the source text, may not be maintained at all, or may be maintained but not always kept current. As used herein, this deeper representation is referred to generically and in a general sense as code knowledge, since a development tool may put the knowledge to any number of different uses.
Usually, traditional tools gather their code knowledge at infrequent intervals, such as when the user compiles the entire program or saves an individual source file to a storage such as a hard disk drive. During the intervening periods, the derived information becomes Astale,@ as the user changes the source code. The code knowledge in such instances becomes out of date.
A problem in maintaining up-to-date code knowledge is flushing stale information from a system when it has been superseded by newer information. If other parts of the development tool are actively using data, or are merely keeping pointers to the data for subsequent use, it generally is impractical to just destroy the old data. Doing so may require a complex notification scheme, allowing each part of the system to switch over to the new data before the old data can be safely destroyed.
For these and other reasons, there is a need for the present invention.
SUMMARY OF THE INVENTION
The invention provides for maintenance of code knowledge for up-to-date access thereof. In one embodiment, a computer-implemented method for providing code knowledge is in response to receiving a request for code knowledge regarding a computer program. The method first creates a proxy, then a node to which the proxy is pointed by a unique node key and which includes the code knowledge. The method updates the node as necessary to provide accurate code knowledge. For example, in one particular embodiment, the method sets a flag of the proxy indicating the node as invalid upon a change event (e.g., such as modification to the source code from which the code knowledge was parsed occurring). Thus, upon the flag of the proxy indicating the node as invalid, and upon receiving a second request for the code knowledge, the method recreates the node (and, in one embodiment, first deleting the node before recreating it).
Thus, the invention provides for advantages not found in the prior art. Embodiments of the invention solve the problem of maintaining up-to-date code knowledge by introducing a layer of objects called proxies, through which all access to code knowledge is performed. Other parts of the system refer only to these proxies, which are not destroyed when the source text changes (unlike the nodes, for example).
The use of proxies also confers other advantages for the invention. Proxies can transparently derive their knowledge using many different mechanisms—for example, if the source code has not changed since the last time it was compiled, it may be more efficient to derive some of the code knowledge by loading a compiled binary file, rather than by parsing the source code.
The invention includes systems, methods, computers, and computer-readable media of varying scope. Besides the embodiments, advantages and aspects of the invention described here, the invention also includes other embodiments, advantages and aspects, as will become apparent by reading and studying the drawings and the following description.


REFERENCES:
patent: 5701490 (1997-12-01), Safonov
patent: 5903725 (1999-05-01), Colyer
patent: 5999988 (1999-12-01), Pelegri-Llopart et al.
patent: 6182155 (2001-01-01), Cheng et al.
patent: 6185728 (2001-02-01), Hejlsberg
Dave et al., “Proxies, Application Interfaces, and Distributed Systems,” IEEE 1992, pp. 212-220.*
Menon & LeBlanc, Jr., “Object Replacement using Dynamic Proxy Updates,” IEEE 1994, pp. 82-91.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Maintenance of code knowledge for up-to-date access thereof does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Maintenance of code knowledge for up-to-date access thereof, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Maintenance of code knowledge for up-to-date access thereof will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2878902

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.