Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Code Coverage Tool with Call Site Procedural Statistics

IP.com Disclosure Number: IPCOM000015746D
Original Publication Date: 2002-Feb-01
Included in the Prior Art Database: 2003-Jun-21
Document File: 3 page(s) / 71K

Publishing Venue

IBM

Abstract

This invention tracks the coverage of a routine called from a particular call site and reports the coverage accumulated from calls at that site back to that point in the listing of the calling routine. For example, above is an interface to the ATC viewer. This viewer allows the user to see not only the lines that where not covered (Highlighted in red), but also to see how much coverage each of the called routines received when called from the particular call site (This is the green bar above). So if all the lines in the routine happened to be executed as a result of being called from that location, the green bar would be all the way across the screen. (Such as with the cleanup routine) In the example program there are two calls to the routine foo(). One call site accounts for more coverage than the other, as can be seen by the length of the green bar. The ATC viewer will allow the user to click on the green bar or the line with the call and examine the coverage that resulted from calls to the routine at this call site. A user can also leave the mouse pointer on the green bar, and tool tip text will pop up telling the user how many times this subroutine was called from this location. 1

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 57% of the total text.

Page 1 of 3

Code Coverage Tool with Call Site Procedural Statistics

   This invention tracks the coverage of a routine called from a particular call site and reports the coverage accumulated from calls at that site back to that point in the listing of the calling routine.

For example, above is an interface to the ATC viewer. This viewer allows the user to see not only the lines that where not covered (Highlighted in red), but also to see how much coverage each of the called routines received when called from the particular call site (This is the green bar above). So if all the lines in the routine happened to be executed as a result of being called from that location, the green bar would be all the way across the screen. (Such as with the cleanup routine)

In the example program there are two calls to the routine foo(). One call site accounts for more coverage than the other, as can be seen by the length of the green bar. The ATC viewer will allow the user to click on the green bar or the line with the call and examine the coverage that resulted from calls to the routine at this call site. A user can also leave the mouse pointer on the green bar, and tool tip text will pop up telling the user how many times this subroutine was called from this location.

1

[This page contains 43 pictures or other non-text objects]

Page 2 of 3

The window directly above is a result of the user clicking on line 8 in the first window. Notice the "relative to" text box in the upper right now contains "test.c : 8". This indicates to the user that the displayed coverage is for only the calls from test.c line 8. (Clicking on this text will take the user back to test : c line 8 )

Today one way that many code coverage tools (such as the ATC code coverage tool) work is by using the debugger support to set a breakpoint on each statement. As the statements are encountered they are recorded as hit and the breakpoint is removed. Rather than tracking the coverage overall lik...