Verification of a computer program in respect to an unexpected response to an access request

US9612942B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9612942-B2
Application numberUS-94878810-A
CountryUS
Kind codeB2
Filing dateNov 18, 2010
Priority dateNov 18, 2010
Publication dateApr 4, 2017
Grant dateApr 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Testing a computer program comprises identification of resource access requests by the computer program to a resource provided by an underlying host. The resource access requests may be intercepted and a determined response may be returned instead of the actual response of the underlying host. In some exemplary embodiments, the resource may a clock of the underlying host and the response may be the time of the clock. In some exemplary embodiments, the computer program may be tested to check for validity during execution on a cloud computing environment, in which access to resources may yield results that on a non-cloud computing environments are generally not expectable. The testing may be performed on a non-cloud computing environments and simulate scenarios applicable to cloud computing environments.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, the method comprising: testing a computer program by operating the computer program by a computerized device, wherein the computerized device is operative to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property; wherein said testing comprises: intercepting at least a first access request and a second access request to the clock by the computer program, wherein said intercepting comprises: determining a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second computerized device, wherein the second response is intentionally designed to be a response that would not have been returned in response to the second access request if the second access request was executed on the first computerized device, thus simulating migration of the computer program from the first computerized device to the second computerized device during execution, wherein said determining the second response comprises determining to violate a monotonically strict increasing property of a time function of the clock; in response to said determining to violate the monotonically strict increasing property of the time function: retrieving a previously provided time; and randomizing a time preceding the previously provided time within a predetermined range, wherein the randomized time is the second response; and providing the first response and the second response to the computer program instead of a first and second responses from the clock to the request. 2. The computer-implemented method of claim 1 , further comprising receiving from a user the predetermined range. 3. The computer-implemented method of claim 1 , wherein said determining comprises: retrieving a current time from the clock; and determining the time so as the time is after at least a predetermined time duration from the current time. 4. The computer-implemented method of claim 1 , wherein said testing comprises testing validity of operation of the computer program in a cloud computing environment, wherein said testing is configured to test the validity of operation in response to migration between devices in the cloud computing environment. 5. The computer-implemented method of claim 4 , further comprises, in response to completion of said testing validity of operation, loading the computer program onto the cloud computing environment. 6. The computer-implemented method of claim 1 , further comprises pre-processing the computer program and identifying a function call operative to access the clock. 7. The computer-implemented method of claim 6 , further comprising instrumenting the computer program with a code operative to replace the function call; and wherein said intercepting comprises executing the code. 8. A computerized apparatus, the apparatus comprising: a testing module operative to operate a computer program, wherein the testing module is configured to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property, wherein said testing module is operatively coupled to an interceptor; said interceptor operative to intercept at least a first access request and a second access request to the clock by the computer program, wherein said interceptor comprises a response determinator operative to determine a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second computerized device, wherein the second response is intentionally designed to be a response that would not have been returned in response to the second access request if the second access request was executed on the first computerized device, thus simulating migration of the computer program from the first computerized device to the second computerized device during execution, wherein said determining the second response comprises determining to violate a monotonically strict increasing property of a time function of the clock; in response to said determining to violate the monotonically strict increasing property of the time function: retrieving a previously provided time; and randomizing a time preceding the previously provided time within a predetermined range, wherein the randomized time is the second response; and wherein said interceptor is further operative to provide the first and second responses to the computer program instead of a first and second responses from the clock to the request; and a processor that is configured to be utilized by said testing module and said interceptor. 9. The computerized apparatus of claim 8 , further comprising an input module operative to receive from a user the predetermined range. 10. The computerized apparatus of claim 8 , wherein said response determinator is further operative to retrieve a current time from the clock; and determine the time so as the time is after at least a predetermined time duration from the current time. 11. The computerized apparatus of claim 8 , wherein said testing module is configured to test validity of operation of the computer program in a cloud computing environment, wherein said testing is configured to test the validity of operation in response to migration between devices in the cloud computing environment. 12. The computerized apparatus of claim 8 , further comprising an access identifier operative to pre-process the computer program and identify a function call operative to access the clock. 13. The computerized apparatus of claim 12 , wherein pre-processing the computer program comprises instrumenting the computer program with code operative to replace the function call. 14. A computer program product comprising a non-transitory computer readable medium retaining program instructions, which instructions when read by a processor, cause the processor to perform a method comprising: testing a computer program by operating the computer program by a computerized device, wherein the computerized device is operative to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property; wherein said testing comprises: intercepting at least a first access request and a second access request to the clock by the computer program, wherein said intercepting comprises: determining a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second com

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9612942B2 cover?
Testing a computer program comprises identification of resource access requests by the computer program to a resource provided by an underlying host. The resource access requests may be intercepted and a determined response may be returned instead of the actual response of the underlying host. In some exemplary embodiments, the resource may a clock of the underlying host and the response may be…
Who is the assignee on this patent?
Citron Daniel, Nir-Buchbinder Yarden, Zlotnick Aviad, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F11/3672. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).