Embedding and executing trace functions in code to gather trace data

US9946628B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946628-B2
Application numberUS-201615136654-A
CountryUS
Kind codeB2
Filing dateApr 22, 2016
Priority dateMar 15, 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.

Provided are a computer program product, system, and method for embedding and executing trace functions in code to gather trace data. A plurality of trace functions are embedded in the code. For each embedded trace function, a trace level is included indicating code to which the trace applies. The trace level comprises one of a plurality of levels. During the execution of the code, the embedded trace functions having one of the levels associated with a specified at least one level specified are executed. The embedded trace functions associated with at least one level not comprising one of the at least one specified level are not invoked.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for implementing trace functions in code, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising: processing code embedded with a plurality of trace functions, wherein each of the trace functions includes a trace level indicating one of a plurality of levels associated with different software lifecycle modes at which the code is executed to which the trace function applies, wherein each of the software lifecycle modes is associated with one of a plurality of levels of development of the code, including from initial code development to final testing and deployment; during execution of the code, determining a software lifecycle mode of the software lifecycle modes at which the code is executed, wherein a specified at least one level comprises at least one level associated with the determined software lifecycle mode; and executing the trace functions in the code having a trace level indicating at least one level that is compatible with at least one of the specified at least one level, and wherein the trace functions not having a trace level indicating at least one level that is compatible with at least one of the specified at least one level associated with the software life cycle mode at which the code is executed are not invoked. 2. The computer program product of claim 1 , wherein the software lifecycle modes include a development mode during which the code is being debugged and tested during development at a developer site, a first production mode, and a second production mode, wherein the development mode is associated with a first level, a second level, and a third level, wherein each of the levels comprises trace levels at which the code is executed, wherein the first production mode is associated with the first and the second levels, and wherein the second production mode is associated with the first level. 3. The computer program product of claim 1 , wherein the operations further comprise: indicating an output destination for trace data produced by the trace functions, wherein the trace data includes at least one of parameters and error codes produced during execution of the code to which the trace functions apply, wherein the trace data is outputted to the indicated output destination in response to executing the trace functions. 4. The computer program product of claim 1 , wherein the software lifecycle modes include a development mode during which the code is being debugged and tested during development at a developer site, a first production mode during which the code is tested, and a second production mode to debug and test a customer problem when the code is deployed at a customer site. 5. The computer program product of claim 1 , wherein each level provides different types of trace data that are produced by the trace functions associated with the level, wherein a first level is used for trace functions that produce trace data suitable for detection of errors at a client site, a second level is used for trace functions that produce trace data suitable for in depth debugging during development, and a third level is used for trace functions that log paths that are taken through the code. 6. The computer program product of claim 5 , wherein the first level is associated with trace functions that produce trace data indicating at least one of major events, hardware turned on/off, hardware status at key times, registers of importance, and changing machine states, wherein the second level is associated with trace functions that produce trace data indicating at least one of pointers, contents of memory, register values, variable values, important paths, and data transfers between external and internal components, and wherein the third level is associated with trace functions that produce trace data indicating at least one of log paths at function entry points, exit points, if-then-else paths, and switch paths. 7. The computer program product of claim 1 , wherein the operations further comprise: for each trace function of the executed trace functions, performing: executing the trace function in response to the level indicated for the processed trace function being one of the at least one specified level; outputting trace data in response to executing the trace function including information on code operations; and bypassing the trace function without executing the trace function in response to the level indicated for the trace function not being one of the at least one specified level. 8. The computer program product of claim 7 , wherein the operations further comprise: during runtime operations of the code, receiving an input level indicating at least one level; and for each trace function of the executed trace functions processed in the code during execution after receiving the input level, performing: executing the trace function in response to the level indicated for the trace function being one of the at least one specified level; outputting trace data in response to executing the trace function including information on code operations; and bypassing the trace function without executing the trace function in response to the at least one level indicated for the trace function not being one of the at least one specified level. 9. The computer program product of claim 1 , wherein the trace functions are associated with at least two of the levels associated with different software life cycle modes. 10. A system, comprising: a processor; a computer readable storage medium including code that when executed by the processor performs operations, the operations comprising: processing code embedded with a plurality of trace functions, wherein each of the trace functions includes a trace level indicating one of a plurality of levels associated with different software lifecycle modes at which the code is executed to which the trace function applies, wherein each of the software lifecycle modes is associated with one of a plurality of levels of development of the code, including from initial code development to final testing and deployment; during execution of the code, determining a software lifecycle mode of the software lifecycle modes at which the code is executed, wherein a specified at least one level comprises at least one level associated with the determined software lifecycle mode; and executing the trace functions in the code having a trace level indicating at least one level that is compatible with at least one of the specified at least one level, and wherein the trace functions not having a trace level indicating at least one level that is compatible with at least one of the specified at least one level associated with the software life cycle mode at which the code is executed are not invoked. 11. The system of claim 10 , wherein the software lifecycle modes include a development mode during which the code is being debugged and tested during development at a developer site, a first production mode, and a second production mode, wherein the development mode is associated with a first level, a second level, and a third level, wherein each of the levels comprises trace levels at which the code is executed, wherein the first production mode is associated with the first and the second levels, and wherein the second production mode is associated with the first level. 12. The system of claim 10 , wherein the operations further comprise: indicating an output destination for trace data produced by the trace functions, wherein the trace data includes at least one of parameters an

Assignees

Inventors

Classifications

  • by tracing the execution of the program · CPC title

  • G06F11/364Primary

    tracing values on a bus · CPC title

  • Physics · mapped topic

  • Environments for analysis, debugging or testing of software · 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 US9946628B2 cover?
Provided are a computer program product, system, and method for embedding and executing trace functions in code to gather trace data. A plurality of trace functions are embedded in the code. For each embedded trace function, a trace level is included indicating code to which the trace applies. The trace level comprises one of a plurality of levels. During the execution of the code, the embedded…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3636. 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).