System and method for determining test coverage

US9946634B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946634-B2
Application numberUS-201314100409-A
CountryUS
Kind codeB2
Filing dateDec 9, 2013
Priority dateDec 9, 2013
Publication dateApr 17, 2018
Grant dateApr 17, 2018

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.

A computer-implemented method, computer program product, and system is provided for determining test coverage. In an implementation, a method may include identifying at least one change in source code. The method may also include instrumenting object code of at least one class file associated with a source file of the source code associated with the identified at least one change. The method may further include testing the instrumented object code with at least one test case. The method may further include generating a coverage report associated with the instrumented object code, wherein the coverage report includes a proportion of the at least one change in the source code covered by the at least one test case.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising a non-transitory computer readable medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations including: identifying at least one change in source code, wherein the at least one change in source code includes a new source file; identifying at least one class file associated with the new source file of the source code associated with the at least one change; identifying object code of the at least one class file associated with a source file of the source code associated with the identified at least one change, wherein the object code of at least one class file is a compiled file of the source code; instrumenting the object code of at the least one class file associated with the source file of the source code associated with the identified at least one change, including instrumenting bytecode associated with each of the at least one class file associated with the new source file; excluding unchanged object code associated with the source code from instrumentation; inserting a counter into the object code of the at least one class file associated with the source file of the source code associated with the identified at least one change, wherein the counter is increased each time a portion of an instruction associated with the object code is executed; testing the instrumented object code with at least one test case; and generating a coverage report associated with the instrumented object code, wherein the coverage report includes a proportion of the at least one change in the source code covered by the at least one test case. 2. The computer program product of claim 1 , wherein identifying the at least one change in the source code includes identifying the at least one change in the source code based upon, at least in part, a source code history change-set. 3. The computer program product of claim 1 , wherein the at least one change in the source code includes at least one of the new source file and at least one change in an existing source file. 4. The computer program product of claim 3 , further including: identifying the at least one class file associated with the source file of the source code associated with the at least one change based upon, at least in part, a source code attribute of the at least one class file. 5. The computer program product of claim 4 , wherein instrumenting the object code of the at least one class file associated with the source file of the source code associated with the identified at least one change further includes: instrumenting the object code associated with the at least one class file associated with the at least one change in the existing source file. 6. A system comprising: at least one processor device and at least one memory architecture coupled with the at least one processor device, the at least one processor device configured for: identifying at least one change in source code, wherein the at least one change in source code includes a new source file; identifying at least one class file associated with the new source file of the source code associated with the at least one change; identifying object code of the at least one class file associated with a source file of the source code associated with the identified at least one change, wherein the object code of at least one class file is a compiled file of the source code; instrumenting the object code of at the least one class file associated with the source file of the source code associated with the identified at least one change, including instrumenting bytecode associated with each of the at least one class file associated with the new source file; excluding unchanged object code associated with the source code from instrumentation; inserting a counter into the object code of the at least one class file associated with the source file of the source code associated with the identified at least one change, wherein the counter is increased each time a portion of an instruction associated with the object code is executed; testing the instrumented object code with at least one test case; and generating a coverage report associated with the instrumented object code, wherein the coverage report includes a proportion of the at least one change in the source code covered by the at least one test case. 7. The system of claim 6 , wherein identifying the at least one change in the source code includes identifying the at least one change in the source code based upon, at least in part, a source code history change-set. 8. The system of claim 6 , wherein the at least one change in the source code includes at least one of the new source file and at least one change in an existing source file. 9. The system of claim 8 , further including: identifying the at least one class file associated with the source file of the source code associated with the at least one change based upon, at least in part, a source code attribute of the at least one class file. 10. The system method of claim 9 , wherein instrumenting the object code of the at least one class file associated with the source file of the source code associated with the identified at least one change further includes: instrumenting the object code associated with the at least one class file associated with the at least one change in the existing source file.

Assignees

Inventors

Classifications

  • Software maintenance or management · CPC title

  • Image based installation; Cloning; Build to order · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • Dependency analysis; Data or control flow analysis · CPC title

  • Transformation of program code · CPC title

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 US9946634B2 cover?
A computer-implemented method, computer program product, and system is provided for determining test coverage. In an implementation, a method may include identifying at least one change in source code. The method may also include instrumenting object code of at least one class file associated with a source file of the source code associated with the identified at least one change. The method ma…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3676. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 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).