US20050008153A1 - Method and logic for capturing and analyzing conduit data - Google Patents

Method and logic for capturing and analyzing conduit data Download PDF

Info

Publication number
US20050008153A1
US20050008153A1 US10799229 US79922904A US2005008153A1 US 20050008153 A1 US20050008153 A1 US 20050008153A1 US 10799229 US10799229 US 10799229 US 79922904 A US79922904 A US 79922904A US 2005008153 A1 US2005008153 A1 US 2005008153A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
specific
logging device
data obtained
key
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10799229
Inventor
Colleen Barton
Daniel Moos
Original Assignee
Barton Colleen A.
Daniel Moos
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS
    • G01V11/00Prospecting or detecting by methods combining techniques covered by two or more of main groups G01V1/00 - G01V9/00

Abstract

A method of locking data and a program that analyzes the data commences with a generation of a first key. This first key is associated with both the data and a specific, compiled copy of the program. A gatekeeper logic is generated. The gatekeeper logic utilizes at least the first key to prevent the specific, compiled copy of the program from analyzing data other than the specific data. In this way, the specific copy of the program is locked to specific data, and is accordingly limited to performing analysis operations utilizing the specific data.

Description

    RELATED APPLICATION
  • The present patent application is a continuation of U.S. application Ser. No. 09/657,759, filed Sep. 8, 2000, entitled METHOD AND LOGIC FOR CAPTURING AND ANALYZING CONDUIT DATA, which is a continuation-in-part of U.S. application Ser. No. 09/340,216, filed Jun. 25, 1999, now U.S. Pat. No. 6,658,567 issued Dec. 2, 2003, entitled METHOD AND LOGIC FOR LOCKING GEOLOGICAL DATA AND AN ANALYZER PROGRAM THAT ANALYZES THE GEOLOGICAL DATA.
  • The above-referenced applications are hereby incorporated herein by reference.
  • FIELD OF THE INVENTION
  • The present invention relates generally to the field of software and data distribution and, more specifically to the distribution of data and an associated analyzer program that analyzes the data to provide evaluations and assessments, the analyzer program being limited to analysis of the specific data.
  • BACKGROUND OF THE INVENTION
  • Pipelines are commonly used in the transportation of oil and gas. There are more than 300,000 miles of oil and gas pipelines in North America. Construction costs are now of the order of $1,000,000 per mile. The typical initial operating life of the pipelines are expected to be about 40 years, but 50% of the of the existing pipelines will be 40 years old at the year 2000.
  • Accurate monitoring of the pipelines is critical due to the potential risks to the environment when the pipelines rupture and due to the high costs of repair or replacement. Since oil and gas pipelines are normally buried, in-service inspection is performed by pumping a “smart electronic inspection pig” through the pipeline from one compressor station to the next.
  • Generally, the inspection tool detects and collects data indicating abnormalities (e.g., leakage, corrosion or metal loss) in the internal and external pipe surface or wall. The inspection tool may provide detailed signals about the condition of the pipelines. The signals are then converted to accurate estimates of defect size and geometry. This requires considerable expertise, as well as a detailed understanding of the effects of inspection conditions and the behavior of the type of pipeline steel used.
  • The information collected by the smart electronic inspection pig can be analyzed by an evaluation or analyzer software. The information can also be stored on a storage device such as, for example, a compact disc (CD) and can then be readily available for further analysis. The analyzer software typically reads large volumes of data generated during the inspection. The analyzer software may include a graphical user interface. Using the data collected during the inspection, the analyzer software may generally perform some data analysis and generates written and electronic reports or some form of graphical display.
  • Pipeline inspection activities or survey are generally performed by consulting firms such as pipeline assessment services performing both the data collection activity and the data analysis activity. An intelligent pig-based survey is expensive and may cost some hundreds of thousand of dollars, with certain long distance, more complicated lines being charged well in excess of this.
  • It would be cost advantageous if the user of the pipeline inspection data, (e.g., an oil company) could be enabled to have control of both the pipeline inspection data and the analyzer program that analyze the pipeline inspection data. This way the inspection data can be analyzed as often as desired and at any time as desired. However, the cost of an analyzer program may be prohibitively expensive and economically unattractive.
  • SUMMARY OF THE INVENTION
  • According to one embodiment of the invention, there is provided a method of locking a specific data and an analyzer program that analyzes the specific data. A first key is generated and associated with the specific data and a specific copy of the analyzer program. A gatekeeper logic is generated. The gatekeeper logic utilizes at least the first key to prevent the specific copy of the analyzer program from analyzing any other data except for the specific data.
  • According to another embodiment of the invention, there is provided a method of locking a specific conduit data with a specific copy of an analyzer program that analyzes the specific conduit data. A first key is generated and associated with both the specific conduit data and the specific copy of the analyzer program. A gatekeeper logic is generated. The gatekeeper logic utilizes at least the first key to prevent the specific copy of the analyzer program from analyzing any other conduit data except for the specific conduit data.
  • Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
  • FIG. 1 is a block diagram illustrating an exemplary system for locking conduit data and an analyzer program that analyzes the conduit data.
  • FIG. 2 is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, of locking conduit data and an analyzer program so that a specific copy of the analyzer program is enabled to analyze only specific conduit data.
  • FIG. 3A is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, of executing an analyzer program to analyze conduit data to which it is locked.
  • FIG. 3B is a flow chart illustrating an alternative method, according to an exemplary embodiment of the present invention, of executing an analyzer program to analyze conduit data to which it is locked.
  • FIGS. 4A-4C illustrate methods, according to alternative embodiments of the present invention, of distributing conduit data and an analyzer program that analyzes the conduit data to an end user of the conduit data conduit data conduit data and the analyzer program.
  • FIG. 5 is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, that may be performed by a conduit assessment service provider, an end user, and an analyzer program software supplier to implement the method illustrated in FIGS. 4A-4C.
  • FIG. 6 is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, of distributing conduit data and an analyzer program to an end user.
  • FIG. 7 is a block diagram illustrating a machine, in the exemplary form of a computer system, within which a set of instructions for causing the computer system to perform any of the methodologies discussed above may be executed.
  • DETAILED DESCRIPTION
  • A method and logic for locking conduit data and an analyzer program that analyzes the conduit data are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
  • For the purposes of the present invention, the term “conduit” shall refer to any opening or cavity enclosed or surrounded by a structure having features, conditions or characteristics of a pipeline or pipeline-like environment such as, for example, an oil or gas pipeline, a sewer or other utility pipeline, a well or a bore hole. The structure may be generally vertical or horizontal or may form any angles with the ground level. The structure may be above ground, under ground, in land, under water, or any combination of these. Further, the term “data” shall be taken to include, but not limited to geomechanical, geophysical, in situ stress, petrophysical, geotechnical, acoustic wave form, magnetic wave resonance, vibration data, digital data or any other data derived using a logging device within the structure. The logging device may be a device that collects data such as, for example, a pig inspection device.
  • For the purposes of the present specification, the term “analyzer program” shall be taken to refer to any program that analyzes data for the purpose of presenting, interpreting or modifying the data. Accordingly, the operations performed by an analyzer program include, but are not limited to, the extraction of data, the generating of data, the interpretation of data, the display of data, the filtering of data, and the enhancing of data.
  • FIG. 1 is a block diagram illustrating a system 10, according to an exemplary embodiment of the present invention, for locking conduit data and an analyzer program that analyzes the conduit data. The system 10 includes conduit data files 12 that may, for example, comprise logged acoustic data, electrical data, optical data, digital data, magnetic data or vibration data. The conduit data files 12 are inputted to an encryption or locking routine 14 that operates to lock the conduit data files 12 to a specific copy of an analyzer program. This enables the specific copy of the analyzer program only to analyze the specific conduit data files 12, and no other conduit data files. To this end, the locking routine 14 includes a random number generator 16 that generates a first key 18, which in one embodiment of the present invention comprises a simple random number. In another embodiment, the first key 18 may comprise any random character sequence.
  • The locking routine 14 also operates to identify a specific characteristic of each of the conduit data files 12, and to assign a characteristic value to a characteristic parameter indicative of the particular characteristic of each conduit data file 12. For example, the characteristic parameter may be the size of a conduit data file 12, and the characteristic value attributed to this parameter may be actual size of a conduit data file 12 expressed in bits, bytes or any other measure.
  • Further, the locking routine 14 generates a second key 22 for each of the conduit data files 12, which is associated with a respective conduit data file 12, utilizing the first key and the characteristic value for a respective file 12. For example, the logging routine 14 may simply exclusive OR (XOR), the first key and the characteristic parameter to generate the second key 22. The locking routine 14 then writes a respective second key 22 into a header portion of each of the files 12, as illustrated in FIG. 1. Alternatively, the second key 22 may be inserted into the conduit data files 12 in a manner that is not so easily discernable. For example, the second key 22 may be fractured into pieces that are inserted at predetermined locations throughout the conduit data files 12 by the locking routine 14.
  • Further, the locking routine 14 generates a gatekeeper application 24, in the exemplary form of a Java™ applet, which implements an “unlocking” function with respect to the conduit data files 12 and a specific copy of an analyzer program. This is to permit the analyzer program to analyze the conduit data files. Further information regarding the gatekeeper application 24 is provided below.
  • A compiler 28 compiles the source code 26 of the analyzer program to generate a specific compiled copy of the analyzer application 30 that incorporates the first key 18 and the gatekeeper application 24. The source code 26 for the analyzer program can be provided by a software developer such as, for example, the GMI-Imager software developed by GeoMechanics International, Incorporated of Palo Alto, Calif.
  • The conduit data files 12 and the compiled analyzer application 30 may together comprise a single package 32 that is supplied to an end user. For example, the conduit data files 12 and the compiled copy of the analyzer application 30 may be written to a single compact disk (e.g., CD) that is supplied to the end user. Alternatively, the conduit data files 12 and the specific copy of the analyzer application 30 may be propagated to an end user from a source over a network.
  • In one embodiment, a single first key 18 may be utilized by the locking routine 14 to generate multiple distinct second keys 22 for each of the conduit data files 12. This may be achieved by performing an operation utilizing the first key 18 and a specific characteristic value for each distinct file of the conduit data files 12 to generate a distinct second key 22 for each such distinct conduit data file. Accordingly, the package 32 may comprise a single copy of the compiled analyzer application 30 that is able to analyze each of the multiple conduit data files 12, each having a different and unique second key 22.
  • FIG. 2 is a flow chart illustrating a method 34, according to an exemplary embodiment of the present invention, of locking conduit data and an analyzer program so that a specific copy of the analyzer program is enabled to analyze only the specific conduit data.
  • The method commences at block 36, with the generation of the first key 18 by the random number generator 16. At block 38, the locking routine 14 generates the gatekeeper application 24 that is to be compiled with the analyzer application source code 26 (e.g., the analyzer program). At block 40, the locking routine 14 determines a characteristic value for a characteristic parameter of at least one conduit data file 12. As discussed above, the locking routine 14 may determine a respective characteristic value for a number of conduit data files 12. The characteristic value may be, for example, the size of a respective conduit data file.
  • At block 42, the locking routine 14 then generates a respective second key 22 for each conduit data file 12 utilizing the first key 18 and the respective characteristic value 19 for the respective conduit data file 12. For example, the second key 22 may be generated for the respective conduit data file 12 by performing an exclusive-or (XOR) operation between the first key 18 and the characteristic value 19 for each respective conduit data file 12.
  • At block 44, the locking routine 14 incorporates the second key 22 into the header of each respective conduit data file 12. As discussed above, in an alternative embodiment, a second key 22 for each respective conduit data file 12 may be distributed throughout the file 12 at predetermined and known locations. At block 46, the compiler 28 then compiles the analyzer application source code 26 together with the first key 18 and the gatekeeper application 24 and generates a specific compiled copy of the analyzer application 30. At block 48, the specific compiled copy of the analyzer application 30 and the conduit data files 12 that the analyzer application can access and analyze, are supplied to the end user as the package 32. The method 34 then ends at block 50.
  • FIG. 3A is a flow chart showing a method 52, according to an exemplary embodiment of the present invention, of executing an analyzer program to analyze conduit data to which it is locked.
  • The method 52 commences at block 54, with the initiation or launch by an end user of the specific compiled copy of the analyzer application 30 shown in FIG. 1 and supplied to the user at block 48 of the method 34 illustrated in FIG. 2. At block 56, the gatekeeper application 24 begins execution and it identifies the first key 18 within the specific copy of the analyzer application 30. At block 60, the gatekeeper application 24 opens the conduit data files 12 and, at block 62, determines a characteristic value for a characteristic parameter of each of the conduit data files 12. For example, the gatekeeper application 24 may ascertain the size of each of the conduit data files 12.
  • At block 64, the gatekeeper application 24 calculates a gate key for each of the conduit data files 12 utilizing the first key identified at block 58 and the respective characteristic value for characteristic parameter for each of the conduit data files 12. The calculation of the gate key is the same as the calculation of the second key 22 described in FIG. 1 and at block 42 of FIG. 2. For example, the gate key may be calculated by performing a XOR operation utilizing the first key 18 and the determined characteristic value for the characteristic parameter for each of the conduit data files 12.
  • At decision block 66, a determination is made as to whether the gate key generated for each of the conduit data files 12 corresponds to a respective second key 22 stored, for example, in the header portion of the respective conduit data file 12. Following a positive determination at decision box 66, for a specific conduit data file 12, the gatekeeper application 24 enables analysis of the specific conduit data file 12 by the specific copy of the analyzer application 30. On the other hand, following a negative determination for a specific conduit data file 12 at decision box 66, the gatekeeper application 24 disables the specific copy of the analyzer application 30 from analyzing the relevant data file 12. The negative determination occurs when the user attempt to use the specific copy of the analyzer application with a conduit data file other than the conduit data files 12. The method 52 then ends at block 72.
  • FIG. 3B is a flow chart illustrating an alternative method 74, according to an exemplary embodiment of the present invention, of executing an analyzer program to analyze conduit data to which it is locked.
  • The method 74 corresponds substantially to the method 52 discussed above with respect to FIG. 3A. They are different in that at block 76, the gatekeeper application 24 identifies the second key 22 of a specific conduit data file 12, and then at block 78 calculates the gate key utilizing this second key 22 and the characteristic value of the relevant file 12. At decision box 80, the gatekeeper application 24 makes a determination as to whether the gate key corresponds to the first key 18 embedded within the specific copy of the analyzer application 30. This decision is to determine whether or not the specific copy of the analyzer application 30 will be enabled to analyze the relevant conduit data file 12.
  • In summary, the methods 52 and 74 differ in that, in the method 52, the first key 18 is utilized together with the characteristic parameter to determine the gate key which is then compared to the second key 22 stored within the conduit data file 12. In the method 74, the second key 22 is utilized to generate the gate key, that is then compared to the first key 18 embedded within the compiled and specific copy of the analyzer application 30.
  • FIGS. 4A-4C illustrate methods 90, 92 and 94, according to alternative embodiments of the present invention, of distributing conduit data and an analyzer program that analyzes the conduit data to the end user of the conduit data and the analyzer program.
  • Referring first to FIG. 4A, conduit data 98 may be provided by a conduit inspection service company 96 such as, for example, BlackHawk Pipeline Assessment Services of Atlanta, Ga., to the end user 100. Conduit data 98 may be stored on a compact disk (CD) 99. The end user 100 then provides the conduit data 98 on the CD 99 to the analyzer software supplier 102.
  • Having received the conduit data 98 from the end user 100, the analyzer software supplier 102 will then proceed, utilizing the locking (or encryption) routine 14 to compile the analyzer application source code 26 to include the conduit data 98 and the locking (or encryption) routine 14 to thereby generate the package 32. As described above with reference to FIG. 1, the package 32 comprises object code that constitutes a compiled specific copy of the analyzer application 30, and one or more conduit data files 12. The gatekeeper application 24, in conjunction with the first and second keys 18 and 22, constitutes a lock 104 illustrated in FIG. 4A. The package 32 may be written to a compact disk 107, that is then supplied back to the end user 100.
  • Utilizing the compact disk 107, the end user 100 may then execute the analyzer application 30 to analyze only the conduit data 98. Except for the conduit data 98, the compiled analyzer application 30 will not work with any other conduit data.
  • The above-discussed method 90 of distribution of the locked compiled analyzer application 30 and conduit data 98 is advantageous to the analyzer software supplier 102. The analyzer software supplier 102 is able to incrementally recover the cost of the analyzer application by supplying multiple copies of an analyzer application 30 to the end user 100. Each analyzer application copy is locked to the specific conduit data 98. Each compiled and specific copy of the analyzer application 30 is supplied at a reduced price relative to the cost of supply of an unencumbered or “unlocked” analyzer program that is not limited to the specific conduit data 98, and that would be able to analyze any given conduit data. By supplying numerous copies of compiled specific analyzer applications 30 to the end user, the analyzer software supplier 102 will thus be able to generate a steady revenue flow from the end user 100 and recover a “full” price for the program over time.
  • From the point of view of the end user 100, the distribution method 90 discussed above with reference to FIG. 4A is advantageous. Instead of being required to buy an “unlocked” copy of the analyzer program 26 for a relatively high (and sometimes unaffordable) cost, the end user 100 incurs incremental and time-distributed costs for use of the analyzer program. A further benefit to the end user 100 is that the distribution method 90 implements an alternative to a “pay-per-use” system. This provides advantages in that the cost to the end user 100 of the analyzer application 30 is linked to the usage and value to the company of the specific conduit data 98.
  • FIG. 4B shows an alternative method 92 of distributing conduit data and an analyzer program that analyzes the conduit data to an end user 100. The method 92 corresponds substantially to the method 90 with reference to FIG. 4A. However, instead of the conduit data 98 being propagated between the conduit inspection service company 96, the end user 100 and the analyzer software supplier 102 on a compact disk, the relevant data and applications are transmitted via a network (not shown). The network may be a wire or wireless, and may comprise the Internet, a Wide Area Network (WAN) or a Local Area Network (LAN). The method 92 may provide some cost advantages over the method 90, and may also be more convenient in certain circumstances.
  • FIG. 4C shows a further method 94 of distributing conduit data and an analyzer program, which are locked, to an end user 100. While the conduit inspection service company 96 provides the conduit data 98 to the end user 100, as in the methods 90 and 92 above, this conduit data 98 is not provided to the analyzer software supplier 102. In the method 94, the analyzer software supplier 102 provides a further package 108 to the end user 100, the package 108 including a copy-protected and read-protected copy of the analyzer application source code 26, a copy of the locking routine 14, and a purge routine 106. The end user 100 then executes the locking routine 14 to enable the analyzer application 30 locally to generate the first key 18, the gatekeeper application 24 and the second key 22. Following compilation of a specific and compiled copy of the analyzer application 30, and the embedding of the second key 22 within a conduit data file 12, the purge routine 106 will then automatically be invoked to purge the locking routine 14 and the analyzer application source code 26 from a computer system operated by the end user 100. The end user 100 will then retain only the package 32, the other software having been purged from a relevant computer system by the purge routine 106.
  • The method 94 illustrated in FIG. 4C is advantageous in that it is not required that the conduit data 98 be provided from the end user 100 to the analyzer software supplier 102. On the other hand, the generation of the locked analyzer application 30 and conduit data 98 at an end-user site may be undesirable, and may be unattractive to an end user 100.
  • FIG. 5 is a flow chart illustrating the steps performed by the conduit inspection service company 96, the end user 100 and the analyzer software supplier 102 as described above with reference to FIG. 4. At block 110, the conduit data 98 is provided to the analyzer software supplier 102 from the conduit inspection service company 96 via the end user 100. At block 112, the analyzer software supplier 102 then locks the analyzer application 30 to the conduit data 98. At block 114, the analyzer software supplier 102 supplies the locked analyzer application 30 and conduit data 98 to the end user 100. At block 116, the gatekeeper application 24, embedded within the analyzer application 30, allows a user to execute the locked software to analyze only the specific conduit data 98.
  • The method 90 described above with reference to FIG. 5 also embodies the processes performed when executing the method 92 discussed above with reference to FIG. 4B.
  • FIG. 6 is a flow chart illustrating a method 94, according to an exemplary embodiment of the present invention, of distributing conduit data and an analyzer program to an end user. The method 94 is performed by the conduit inspection service company 96, the end user 100 and the analyzer software supplier 102.
  • At block 120, the end user 100 acquires the conduit data 98 from the conduit inspection service company 96. At block 112, the end user 100 requests an analyzer application source code 26, which is copy and read protected, to the end user 100. The supplier 102 also provides the locking routine 14 and purge routine 106. At block 126, the end user 100 then executes the locking routine 14 to lock the conduit data 98 to a specific and compiled copy of the analyzer application 30. This may involve generating the gatekeeper application 24, and performing a compile operation utilizing a compiler 28 as described with reference to FIG. 1.
  • At block 128, the locking routine 14 calls the purge routine 106 to purge the locking routine and the analyzer application source code 26 from the computer system of the end-user 100. At block 130, the gatekeeper application 24 allows the end user 100 to execute the analyzer application 30 to analyze the conduit data 98, and no other conduit data, to which is locked. The method 94 then ends at block 132.
  • FIG. 7 is a block diagram illustrating a machine, in the exemplary form of a computer system 140, within which a set of instructions, for causing the computer system 140 to perform any one of the methodologies discussed above, may be executed. The computer system 140 includes a processor 142, a main memory 144, and a static memory 146 that communicate with each other via a bus 148. The computer system 140 further includes a video display unit 149 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CTR)). The computer system 140 further includes an alpha-numeric input device 150 (e.g., a keyboard), a cursor control device 152 (e.g., a mouse), a disk drive unit 154, a signal generation device 156 (e.g., a speaker) and a network interface device 158.
  • The disk drive unit 154 includes a machine-readable medium 160 on which is stored a set of instructions (i.e., software 162) embodying any one, or all, of the methodologies discussed above. The software 162 is also shown to reside, completely or at least partially, within the main memory 144 and/or within the processor 142. The software 162 may furthermore be transmitted or received via the network interface device 158.
  • For the purposes of this specification, the term “machine-readable medium” shall be taken to include any medium which is capable of storing or embodying a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to included, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals.
  • Thus, a method and logic for locking conduit data and an analyzer data program that analyzes the conduit data have been described. Although the present invention has been described with reference to specific exemplary embodiments, the present invention can also be practiced with any analyzer program being locked with any respective data to provide the end users the same advantages discussed above. For example, a sales person can purchase marketing data for a specific region locked together with an analyzer program that provides analyses of the same marketing data
  • It will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims (38)

1. A method of locking data obtained with a logging device and an analyzer program that analyzes the data, the method including:
generating a first key;
associating the first key with both specific data obtained with the logging device and a specific copy of the analyzer program; and
generating gatekeeper logic that enables the specific copy of the analyzer program to analyze the specific data only if the first key associated with the specific copy of the analyzer program corresponds with a second key associated with the specific data obtained with the logging device.
2. The method of claim 1 wherein the generating of the first key includes generating a random character sequence.
3. The method of claim 2 wherein the random character sequence is a random number sequence.
4. The method of claim 1 wherein the associating of the first key with the specific copy of the analyzer program includes compiling the specific copy of the analyzer program to incorporate the first key.
5. The method of claim 1 wherein the generating of the gatekeeper logic includes associating the gatekeeper logic with the specific copy of the analyzer program.
6. The method of claim 5 wherein the associating of the gatekeeper logic with the specific copy of the analyzer program includes compiling the specific copy of the analyzer program to incorporate the gatekeeper logic.
7. The method of claim 1 wherein the generating of the gatekeeper logic comprises generating a Java-programming language application that is incorporated within the specific copy of the analyzer program.
8. The method of claim 1 wherein a user of the analyzer program supplies the specific data obtained with the logging device to a supplier of the analyzer program, and a locking of the specific data obtained with the logging device to the specific copy of the analyzer program occurs on a computer system of the supplier.
9. The method of claim 8 wherein the supplier provides the locked specific data obtained with the logging device and the specific copy of the analyzer program to the user.
10. The method of claim 1 wherein a supplier of the analyzer program supplies locking logic and the analyzer program to a user of the analyzer program, and a locking of the specific data, obtained with the logging device, to the specific copy of the analyzer program occurs on a computer system of the user utilizing the supplied locking logic and the supplied analyzer program.
11. A method of distributing data obtained with a logging device and an analyzer program that analyzes the data, the method including:
providing a user of the analyzer program with a specific copy of the analyzer program and specific data, obtained with the logging device, that are locked utilizing at least a first key; and
providing the user of the analyzer program with gatekeeper logic that enables the specific copy of the analyzer program to analyze data obtained with the logging device only if the first key associated with the analyzer program corresponds with a second key associated with the specific data obtained with the logging device.
12. The method of claim 11 wherein the providing of the gatekeeper logic includes compiling the specific copy of the analyzer program to include the gatekeeper logic, and providing the user with the compiled specific copy of the analyzer program.
13. The method of claim 11 wherein the providing of the specific copy of the analyzer program and the specific data obtained with the logging device includes associating the first key with both the specific copy of analyzer program and the specific data obtained with the logging device.
14. The method of claim 11 wherein the associating of the first key with the specific copy of the analyzer program includes compiling the specific copy of the analyzer program to include the first key.
15. A method of distributing data obtained with the logging device and an application program that accesses the data, the method including:
locking a specific copy of the application program to specific data obtained with the logging device so that the specific copy of the application program is able to access only the specific data, obtained with the logging device, having an associated key that corresponds with a second key associated with the specific copy of the application program; and
distributing the locked specific copy of the application program and specific data obtained with the logging device to a user.
16. The method of claim 15 wherein the locking of the specific copy of the application program to the specific data obtained with the logging device includes generating a first key that is associated with both the specific copy of the application program and the specific data obtained with the logging device.
17. The method of claim 16 wherein the generating of the first key comprises generating a random key utilizing a random character generator.
18. The method of claim 16 wherein the generating of the first key comprises generating a random number using a random number generator.
19. The method of claim 15 wherein the locking of the specific copy of the application program to the specific data obtained with the logging device includes generating a gatekeeper application that allows utilization of the specific copy of the application program when accessing the specific data obtained with the logging device, and disallows utilization of the application program when accessing other data obtained with the logging device.
20. The method of claim 15 wherein the locking of the specific copy of the application program to the specific data obtained with the logging device includes compiling source code for the application program, together with the first key and the gatekeeper application, into compiled object code for the specific copy of the application program.
21. The method of claim 20 including distributing the gatekeeper application to the user, the gatekeeper application accessing at least the first key for the purposes of allowing or disallowing utilization of the specific copy of the application program.
22. The method of claim 15 wherein the locking is performed by locking logic, and the method includes sending the specific data obtained with the logging device from the user to a software supplier, the software supplier executing the locking logic to lock the specific copy of the application program to the specific data obtained with the logging device so that the specific copy of the application program is able to access only the specific data obtained with the logging device.
23. The method of claim 15 including sending the locked specific copy of the application program and specific data obtained with the logging device from the user to the software supplier.
24. The method of claim 23 wherein the sending comprises propagating the specific data obtained with the logging device over a communications network.
25. The method of claim 23 wherein the sending comprises supplying the software supplier with a physical storage medium that stores the specific data obtained with the logging device.
26. The method of claim 15 wherein the locking is performed by locking logic, the method includes sending the locking logic and the application program from a software supplier to the user, the user executing the locking logic to lock the specific copy of the application program to the specific data obtained with the logging device so that the specific copy of the application program is able to access only the specific data obtained with the logging device.
27. The method of claim 26 including purging the locking logic from a computer system of the user subsequent to the locking of the specific copy of the application program to the specific data obtained with the logging device.
28. The method of claim 27 wherein the sending comprises propagating the locking logic and the application program over a communications network.
29. The method of claim 27 wherein the sending comprises supplying the user with a physical storage medium that stores the locking logic and the application program.
30. A logic set for locking data obtained with a logging device and an analyzer program that analyzes the data, the logic set including:
first logic to generate a first key;
second logic to associate the first key with both specific data obtained with the logging device and a specific copy of the analyzer program; and
third logic to generate gatekeeper logic that enables the specific copy of the analyzer program to analyze data obtained with the logging device only if the first key associated with the specific copy of the analyzer program corresponds with a second key associated with the data obtained with the logging device.
31. The logic set of claim 30 wherein the first logic comprises a random number generator.
32. The logic set of claim 30 wherein the second logic comprises a compiler that compiles the specific copy of the analyzer program to incorporate the gatekeeper logic
33. The logic set of claim 30 wherein the second logic comprises a compiler that compiles the specific copy of the analyzer program to incorporate the first key.
34. The logic set of claim 30 wherein the third logic comprises a locking routine.
35. Apparatus for locking data obtained with a logging device and an analyzer program that analyzes the data, the apparatus including:
first means for generating a first key;
second means for associating the first key with both specific data obtained with the logging device and a specific copy of the analyzer program; and
third means for generating gatekeeper logic that enables the specific copy of the analyzer program to analyze data obtained with the logging device only if the first key associated with the analyzer program corresponds with a second key associated with the data obtained with the logging device.
36. A machine-readable medium having a sequence of instructions stored thereon that, when executed by a machine, cause the machine to perform the steps of:
generating a first key;
associating the first key with both specific data obtained with a logging device and a specific copy of an analyzer program; and
generating gatekeeper logic that enables the specific copy of the analyzer program to analyze the specific data obtained with the logging device only if the first key associated with the analyzer program corresponds with a second key associated with the specific data obtained with the logging device.
37. A machine-readable medium having a sequence of instructions stored thereon that, when executed by a machine, cause the machine, in response to a user request received over a communications network, to perform the steps of:
automatically providing, over the communications network, a user of the analyzer program with a specific copy of the analyzer program and specific data obtained with a logging device that are locked utilizing at least a first key; and
automatically providing, over the communications network, the user of the analyzer program with gatekeeper logic that enables the specific copy of the analyzer program to analyze data obtained with the logging device only if the first key associated with the analyzer program corresponds with a second key associated with the specific data obtained with the logging device.
38. A machine-readable medium having a sequence of instructions stored thereon that, when executed by a machine, cause the machine, in response to a user request received over a communications network, to perform the steps of:
automatically locking a specific copy of an application program to specific data obtained with a logging device so that the specific copy of the application program is able to access only the specific data obtained with the logging device having an associated key that corresponds with a key associated with the specific copy of the application program; and
automatically distributing the locked specific copy of the application program and specific data obtained with the logging device to a user.
US10799229 1999-06-25 2004-03-11 Method and logic for capturing and analyzing conduit data Abandoned US20050008153A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09340216 US6658567B1 (en) 1999-06-25 1999-06-25 Method and logic for locking geological data and an analyzer program that analyzes the geological data
US09657759 US6941464B1 (en) 1999-06-25 2000-09-08 Method and logic for capturing and analyzing conduit data
US10799229 US20050008153A1 (en) 1999-06-25 2004-03-11 Method and logic for capturing and analyzing conduit data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10799229 US20050008153A1 (en) 1999-06-25 2004-03-11 Method and logic for capturing and analyzing conduit data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09657759 Continuation US6941464B1 (en) 1999-06-25 2000-09-08 Method and logic for capturing and analyzing conduit data

Publications (1)

Publication Number Publication Date
US20050008153A1 true true US20050008153A1 (en) 2005-01-13

Family

ID=29549854

Family Applications (3)

Application Number Title Priority Date Filing Date
US09340216 Active US6658567B1 (en) 1999-06-25 1999-06-25 Method and logic for locking geological data and an analyzer program that analyzes the geological data
US09657759 Active 2022-01-26 US6941464B1 (en) 1999-06-25 2000-09-08 Method and logic for capturing and analyzing conduit data
US10799229 Abandoned US20050008153A1 (en) 1999-06-25 2004-03-11 Method and logic for capturing and analyzing conduit data

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09340216 Active US6658567B1 (en) 1999-06-25 1999-06-25 Method and logic for locking geological data and an analyzer program that analyzes the geological data
US09657759 Active 2022-01-26 US6941464B1 (en) 1999-06-25 2000-09-08 Method and logic for capturing and analyzing conduit data

Country Status (1)

Country Link
US (3) US6658567B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081765A1 (en) * 2005-02-04 2006-08-10 Huawei Technologies Co., Ltd. A method for distributing the session key in the management range of the cross-gatekeeper in the direct route mode

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1050803B1 (en) * 1999-05-03 2007-01-17 STMicroelectronics S.A. Guarded computer instruction execution
US6658567B1 (en) * 1999-06-25 2003-12-02 Geomechanics International, Inc. Method and logic for locking geological data and an analyzer program that analyzes the geological data
US7545931B2 (en) * 2002-04-12 2009-06-09 Microsoft Corporation Protection of application secrets
US20050183028A1 (en) * 2003-09-11 2005-08-18 Clough Bradford A. System and method for acquisition and analysis of time and location-specific data
US20050165555A1 (en) * 2004-01-13 2005-07-28 Baker Hughes Incorporated 3-D visualized data set for all types of reservoir data
US8195959B2 (en) * 2004-11-22 2012-06-05 International Business Machines Corporation Encrypting a credential store with a lockbox
US7272582B2 (en) * 2005-02-10 2007-09-18 Data Gater, Llc Fee determination device
DE102007012107A1 (en) * 2007-03-13 2008-09-18 Utimaco Safeware Ag Data e.g. user data, handling system, has encoding driver provided for processor and controlling access to data in region defined by encoding driver by gatekeeper, where access to data is controlled by combination of driver and gatekeeper
US20090283457A1 (en) * 2008-05-14 2009-11-19 Isos Ventures Llc Waste water management system and method
US8898046B2 (en) 2010-12-10 2014-11-25 Baker Hughes Incorporated Method to improve reservoir simulation and recovery from fractured reservoirs
WO2012118931A3 (en) * 2011-03-02 2013-03-21 Multi-Phase Technologies, Llc Method and apparatus for measuring the electrical impedance properties of geological formations using multiple simultaneous current sources

Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796466A (en) * 1987-02-17 1989-01-10 Ed Farmer System for monitoring pipelines
US4945775A (en) * 1988-12-30 1990-08-07 Pulsearch Consolidated Technology Ltd. Inertial based pipeline monitoring system
US4963742A (en) * 1987-03-20 1990-10-16 Abernathy Donald A Leak detection and multispectral survey system
US4998208A (en) * 1987-03-16 1991-03-05 The Standard Oil Company Piping corrosion monitoring system calculating risk-level safety factor producing an inspection schedule
US5078006A (en) * 1990-08-30 1992-01-07 Vista Research, Inc. Methods for detection of leaks in pressurized pipeline systems
US5148110A (en) * 1990-03-02 1992-09-15 Helms Ronald L Method and apparatus for passively detecting the depth and location of a spatial or temporal anomaly by monitoring a time varying signal emanating from the earths surface
US5309360A (en) * 1991-05-23 1994-05-03 Halliburton Geophysical Services, Inc. Method for attenuating undesirable data, such as multiples, using constrained cross-equalization
US5311591A (en) * 1992-05-15 1994-05-10 Fischer Addison M Computer system security method and apparatus for creating and using program authorization information data structures
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device
US5359526A (en) * 1993-02-04 1994-10-25 Hughes Training, Inc. Terrain and culture generation system and method
US5412729A (en) * 1993-05-05 1995-05-02 Liu; Zunquan Device and method for data encryption
US5415033A (en) * 1990-08-30 1995-05-16 Vista Research, Inc. Simplified apparatus for detection of leaks in pressurized pipelines
US5460046A (en) * 1994-05-25 1995-10-24 Tdw Delaware, Inc. Method and apparatus for ultrasonic pipeline inspection
US5504331A (en) * 1993-10-15 1996-04-02 Atlantic Richfield Company Spectroscopic analyzer operating method
US5675251A (en) * 1994-07-07 1997-10-07 Hydroscope Inc. Device and method for inspection of pipelines
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5728943A (en) * 1996-03-15 1998-03-17 Northwest Pipeline Corporation Method and system for detection and prevention of stress corrosion cracking in buried structures
US5737424A (en) * 1996-06-04 1998-04-07 Software Security, Inc. Method and system for secure distribution of protected data using elliptic curve systems
US5745572A (en) * 1995-02-24 1998-04-28 International Computers Limited Cryptographic key management
US5764231A (en) * 1992-05-15 1998-06-09 Eastman Kodak Company Method and apparatus for creating geometric depth images using computer graphics
US5813798A (en) * 1997-03-28 1998-09-29 Whiffen; Greg Piecewise continuous control of groundwater remediation
US5828751A (en) * 1996-04-08 1998-10-27 Walker Asset Management Limited Partnership Method and apparatus for secure measurement certification
US5832083A (en) * 1994-09-09 1998-11-03 Fujitsu Limited Method and device for utilizing data content
US5842148A (en) * 1996-10-07 1998-11-24 Jcp Geologists, Inc. Method of evaluating and classifying living structures for estimating potential damage thereto from physical disturbances
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6014343A (en) * 1996-10-31 2000-01-11 Geoquest Automatic non-artificially extended fault surface based horizon modeling system
US6055213A (en) * 1990-07-09 2000-04-25 Baker Hughes Incorporated Subsurface well apparatus
US6101447A (en) * 1998-02-12 2000-08-08 Schlumberger Technology Corporation Oil and gas reservoir production analysis apparatus and method
US6167348A (en) * 1999-05-27 2000-12-26 Schlumberger Technology Corporation Method and apparatus for ascertaining a characteristic of a geological formation
US6239593B1 (en) * 1998-09-21 2001-05-29 Southwest Research Institute Method and system for detecting and characterizing mechanical damage in pipelines using nonlinear harmonics techniques
US6243483B1 (en) * 1998-09-23 2001-06-05 Pii North America, Inc. Mapping system for the integration and graphical display of pipeline information that enables automated pipeline surveillance
US6256603B1 (en) * 1996-12-19 2001-07-03 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6257332B1 (en) * 1999-09-14 2001-07-10 Halliburton Energy Services, Inc. Well management system
US20010014185A1 (en) * 2000-02-04 2001-08-16 Royol Chitradon System and method for manipulating information and map for geographical resource management
US6301661B1 (en) * 1997-02-12 2001-10-09 Verizon Labortories Inc. Enhanced security for applications employing downloadable executable content
US6389535B1 (en) * 1997-06-30 2002-05-14 Microsoft Corporation Cryptographic protection of core data secrets
US6658567B1 (en) * 1999-06-25 2003-12-02 Geomechanics International, Inc. Method and logic for locking geological data and an analyzer program that analyzes the geological data

Patent Citations (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796466A (en) * 1987-02-17 1989-01-10 Ed Farmer System for monitoring pipelines
US4998208A (en) * 1987-03-16 1991-03-05 The Standard Oil Company Piping corrosion monitoring system calculating risk-level safety factor producing an inspection schedule
US4963742A (en) * 1987-03-20 1990-10-16 Abernathy Donald A Leak detection and multispectral survey system
US4945775A (en) * 1988-12-30 1990-08-07 Pulsearch Consolidated Technology Ltd. Inertial based pipeline monitoring system
US4945775B1 (en) * 1988-12-30 2000-05-02 Nowsco Well Service Ltd Inertial based pipeline monitoring system
US5148110A (en) * 1990-03-02 1992-09-15 Helms Ronald L Method and apparatus for passively detecting the depth and location of a spatial or temporal anomaly by monitoring a time varying signal emanating from the earths surface
US6055213A (en) * 1990-07-09 2000-04-25 Baker Hughes Incorporated Subsurface well apparatus
US5415033A (en) * 1990-08-30 1995-05-16 Vista Research, Inc. Simplified apparatus for detection of leaks in pressurized pipelines
US5078006A (en) * 1990-08-30 1992-01-07 Vista Research, Inc. Methods for detection of leaks in pressurized pipeline systems
US5309360A (en) * 1991-05-23 1994-05-03 Halliburton Geophysical Services, Inc. Method for attenuating undesirable data, such as multiples, using constrained cross-equalization
US5311591A (en) * 1992-05-15 1994-05-10 Fischer Addison M Computer system security method and apparatus for creating and using program authorization information data structures
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5764231A (en) * 1992-05-15 1998-06-09 Eastman Kodak Company Method and apparatus for creating geometric depth images using computer graphics
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device
US5359526A (en) * 1993-02-04 1994-10-25 Hughes Training, Inc. Terrain and culture generation system and method
US5412729A (en) * 1993-05-05 1995-05-02 Liu; Zunquan Device and method for data encryption
US5504331A (en) * 1993-10-15 1996-04-02 Atlantic Richfield Company Spectroscopic analyzer operating method
US5460046A (en) * 1994-05-25 1995-10-24 Tdw Delaware, Inc. Method and apparatus for ultrasonic pipeline inspection
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5675251A (en) * 1994-07-07 1997-10-07 Hydroscope Inc. Device and method for inspection of pipelines
US5832083A (en) * 1994-09-09 1998-11-03 Fujitsu Limited Method and device for utilizing data content
US5745572A (en) * 1995-02-24 1998-04-28 International Computers Limited Cryptographic key management
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5728943A (en) * 1996-03-15 1998-03-17 Northwest Pipeline Corporation Method and system for detection and prevention of stress corrosion cracking in buried structures
US5828751A (en) * 1996-04-08 1998-10-27 Walker Asset Management Limited Partnership Method and apparatus for secure measurement certification
US5737424A (en) * 1996-06-04 1998-04-07 Software Security, Inc. Method and system for secure distribution of protected data using elliptic curve systems
US5842148A (en) * 1996-10-07 1998-11-24 Jcp Geologists, Inc. Method of evaluating and classifying living structures for estimating potential damage thereto from physical disturbances
US6014343A (en) * 1996-10-31 2000-01-11 Geoquest Automatic non-artificially extended fault surface based horizon modeling system
US6138076A (en) * 1996-10-31 2000-10-24 Geoquest, A Division Of Schlumberger Automatic non-artificially extended fault surface based horizon modeling system
US6256603B1 (en) * 1996-12-19 2001-07-03 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6301661B1 (en) * 1997-02-12 2001-10-09 Verizon Labortories Inc. Enhanced security for applications employing downloadable executable content
US5813798A (en) * 1997-03-28 1998-09-29 Whiffen; Greg Piecewise continuous control of groundwater remediation
US6389535B1 (en) * 1997-06-30 2002-05-14 Microsoft Corporation Cryptographic protection of core data secrets
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6101447A (en) * 1998-02-12 2000-08-08 Schlumberger Technology Corporation Oil and gas reservoir production analysis apparatus and method
US6239593B1 (en) * 1998-09-21 2001-05-29 Southwest Research Institute Method and system for detecting and characterizing mechanical damage in pipelines using nonlinear harmonics techniques
US6243483B1 (en) * 1998-09-23 2001-06-05 Pii North America, Inc. Mapping system for the integration and graphical display of pipeline information that enables automated pipeline surveillance
US6167348A (en) * 1999-05-27 2000-12-26 Schlumberger Technology Corporation Method and apparatus for ascertaining a characteristic of a geological formation
US6658567B1 (en) * 1999-06-25 2003-12-02 Geomechanics International, Inc. Method and logic for locking geological data and an analyzer program that analyzes the geological data
US6257332B1 (en) * 1999-09-14 2001-07-10 Halliburton Energy Services, Inc. Well management system
US20010014185A1 (en) * 2000-02-04 2001-08-16 Royol Chitradon System and method for manipulating information and map for geographical resource management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081765A1 (en) * 2005-02-04 2006-08-10 Huawei Technologies Co., Ltd. A method for distributing the session key in the management range of the cross-gatekeeper in the direct route mode
US20070168527A1 (en) * 2005-02-04 2007-07-19 Huawei Technologies Co., Ltd. Method and system for distributing session key across gatekeeper zones in a direct-routing mode
US7983280B2 (en) 2005-02-04 2011-07-19 Huawei Technologies Co., Ltd. Method and system for distributing session key across gatekeeper zones in a direct-routing mode

Also Published As

Publication number Publication date Type
US6658567B1 (en) 2003-12-02 grant
US6941464B1 (en) 2005-09-06 grant

Similar Documents

Publication Publication Date Title
Livshits et al. Reflection analysis for Java
Reps et al. The use of program profiling for software maintenance with applications to the year 2000 problem
Groomer et al. Continuous auditing of database applications: An embedded audit module approach
US6327700B1 (en) Method and system for identifying instrumentation targets in computer programs related to logical transactions
US6742178B1 (en) System and method for instrumenting application class files with correlation information to the instrumentation
Cooley et al. Regression modeling of ground-water flow
Poulakis et al. Leakage detection in water pipe networks using a Bayesian probabilistic framework
Manevich et al. PSE: explaining program failures via postmortem static analysis
US7571478B2 (en) Method of and system for detecting an anomalous operation of a computer system
US6349406B1 (en) Method and system for compensating for instrumentation overhead in trace data by computing average minimum event times
US7496903B2 (en) Synthesizing application response measurement (ARM) instrumentation
US6305010B2 (en) Test, protection, and repair through binary code augmentation
US6980929B2 (en) Well data collection system and method
US20050039171A1 (en) Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications
US8458798B2 (en) Detection of vulnerabilities in computer systems
US6189142B1 (en) Visual program runtime performance analysis
US20050223357A1 (en) System and method for using an automated process to identify bugs in software source code
US20090144698A1 (en) Prioritizing quality improvements to source code
US20050071818A1 (en) Method and system for automatically testing a software build
US20060085798A1 (en) Method and apparatus for correlation of events in a distributed multi-system computing environment
US20050039190A1 (en) Propagating web transaction context into common object model (COM) business logic components
US7284274B1 (en) System and method for identifying and eliminating vulnerabilities in computer software applications
Acharya et al. Practical change impact analysis based on static program slicing for industrial software systems
US5673387A (en) System and method for selecting test units to be re-run in software regression testing
Xu et al. Finding low-utility data structures