Tracing Patents (Class 717/128)
  • Publication number: 20140282427
    Abstract: A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael C. Fanning, Felix Gerard Torquil Ifor Andrew, Daniel J. Moseley, Simon Calvert, Andrew R. Sterland, Timothy Rice, Jeffrey T. Fisher, Robert A. Paveza, Taylor C. Woll, Gregg Miskelly, Harold L. Pierson, III, Christopher Edmonds, Elliot H. Omiya, Karthik Vivek Nadig, Francisco Javier Wong, Zhaochuan Gao, Andriy Stasyuk
  • Publication number: 20140282428
    Abstract: 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.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Herve G.P. Andre, Yolanda Colpo, Enrique Q. Garcia, Mark E. Hack, Larry Juarez, Ricardo S. Padilla, Todd C. Sorenson
  • Publication number: 20140282386
    Abstract: A program code execution is monitored. Variable type and value information the one or more variables in the program code take during the execution of the program code are stored, and compiled over multiple execution of the program code as historical run-time execution traces. A code editor user interface may present the historical run-time execution traces for inspection, whether or not the program code is currently executing. Statistical properties associated with the variable type and value information may be computed. Future variable type and value the one or more variables might take during future execution of the program code may be predicted.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
  • Publication number: 20140282426
    Abstract: In one embodiment, a system analyzer may iteratively sub-partition the trace timeline 202 of a computer system activity to more accurately understand the root causes 214 of various scenarios 204 in the trace timeline 202. The system analyzer may automatically partition a scenario 204 of the trace timeline 202 on a scenario-aware basis. The system analyzer may automatically sub-partition the scenario 204 into a sub-scenario set of the scenario 204. The system analyzer may display a sub-partitioned trace timeline 202 to a user.
    Type: Application
    Filed: March 12, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Alexander Kirshenbaum, Aaron Dietrich, Mark Aldham, Jason Cohen
  • Patent number: 8839203
    Abstract: A code coverage-based taint perimeter detection system and method for testing software code by determining code coverage and detecting new coverage of the code. Embodiments of the system and method perform tainted data flow analysis on execution traces of the code to determine tainted branch targets. The tainted branch targets may be filtered to remove any tainted branch targets that have already been covered. New coverage can be determined by monitoring the filtered tainted branch targets, which in some embodiments involves the use of software breakpoints that are automatically placed at the locations in the tainted branch targets at runtime. Embodiments of the system and method use an iterative process to ensure that only tainted branch targets that have not already been covered or tested are examined.
    Type: Grant
    Filed: May 25, 2011
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Edwin Lars Opstad, Andrew Renk, Daniel Margolis
  • Patent number: 8839204
    Abstract: The purity of a function may be determined after examining the performance history of a function and analyzing the conditions under which the function behaves as pure. In some cases, a function may be classified as pure when any side effects are de minimis or are otherwise considered trivial. A control flow graph may also be traversed to identify conditions in which a side effect may occur as well as to classify the side effects as trivial or non-trivial. The function purity may be used to identify functions for memoization. In some embodiments, the purity analysis may be performed by a remote server and communicated to a client device, where the client device may memoize the function.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: September 16, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8839205
    Abstract: Analyzing the performance of multi-threaded applications. An analysis and visualization of thread executions is performed on a graphical timeline using samples of thread execution. This allows users to understand when their application threads are executing, what they were executing, the degree of concurrency in thread execution, and the order in which work is performed in their application. The visualizations and analysis also allow users to sample thread execution contexts using a graphical user interface, as well as the generation of execution profile reports that may be filtered for a specific time range of execution and a subset of the threads running in the application.
    Type: Grant
    Filed: November 11, 2013
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventor: Hazim Shafi
  • Publication number: 20140258990
    Abstract: A system and a method are disclosed for providing a core dump-level stack trace. In one example, the method includes receiving, by a processing device, a recorded state of a program, the recorded state including a base address of the program and a stack frame including an executable address for a call instruction of a function of the program; determining, by the processing device, a list of functions in view of the recorded state of the program, and creating, by the processing device, a stack trace in view of the list of functions without using debugging symbols.
    Type: Application
    Filed: March 6, 2013
    Publication date: September 11, 2014
    Applicant: RED HAT, INC.
    Inventors: Karel Klic, Martin Milata
  • Publication number: 20140258991
    Abstract: A method and apparatus for estimating coverage of a computer program from traces, the method comprising: receiving trace data generated by an execution of an executable unit; and estimating coverage of the executable unit from the trace data, wherein estimating coverage comprises estimating trace coverage.
    Type: Application
    Filed: March 11, 2013
    Publication date: September 11, 2014
    Applicant: International Business Machines Corporation
    Inventors: Yoram S. Adler, Eitan D. Farchi, Orna Raz-Pelleg
  • Patent number: 8832665
    Abstract: A monitoring system uses existing tracing data describing individual distributed transactions to determine if a recorded thread communication performed by the monitored transactions is internal to a monitored application or whether the recorded thread communication is an outgoing communication. Thread communications which are sent and received by threads that are monitored by the monitoring system are considered to be internal communications. Thread communications for which only the sending thread is monitored are considered to be outgoing communications. The determination process analyzes client side tracing data of the recorded thread communication and determines whether corresponding server side tracing data is available. If no corresponding server side tracing data is available, the thread communication is considered to be an outgoing communications. Examples of thread communications include HTTP requests, web service calls, and remote method invocations.
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: September 9, 2014
    Assignee: dynaTrace software GmbH
    Inventors: Bernd Greifeneder, Markus Pfleger, Christian Schwarzbauer, Erich Georg Hochmuth
  • Patent number: 8832660
    Abstract: In an embodiment, a data processing system comprises a storage system coupled to a unit under test comprising a heap memory, a static memory and a stack; second logic operable to perform: detecting one or more changes in a first state of the heap memory and the static memory; storing, in the storage system, as a state point of the unit under test, the one or more changes in the first state of the heap memory and the static memory; third logic operable to perform: receiving a request to change the memory under test to a particular state point; in response to the request, loading the particular state point from the storage system and applying the particular state point to the heap memory and the static memory to result in changing the heap memory and the static memory to a second state that is substantially equivalent to the first state.
    Type: Grant
    Filed: December 7, 2011
    Date of Patent: September 9, 2014
    Assignee: CA, Inc.
    Inventors: Jonathan Lindo, Jeffrey Daudel, Arpad Jakab, Suman Cherukuri
  • Patent number: 8832504
    Abstract: On demand tracing of application code execution includes: during the execution of the application code, writing trace statements to a circular trace buffer (at a selected and potentially variable detail level); determining whether a pre-defined trigger event has occurred; in response to determining that the trigger event has occurred, outputting one or more trace statements in the circular trace buffer according to pre-defined trace parameters; determining whether a trigger end event has occurred; and in response to determining that the trigger end event has occurred, terminating the outputting of the trace statements. The trigger event and the trigger end event may be defined by names of application code variables, values for the variables, and operators to be used. The trigger end event may further be defined by a time duration for which trace statements are to be outputted, or a number of trace statements to be outputted.
    Type: Grant
    Filed: April 24, 2013
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventor: Hassan A. Shazly
  • Patent number: 8832663
    Abstract: A system for performing runtime analysis on and control of a multithreaded computer program can include a processor configured to initiate executable operations including identifying threads of a computer program to be analyzed. With a supervisor thread, execution of the identified threads can be controlled and execution of the identified threads can be monitored to determine a status of the identified threads. An indicator corresponding to the determined status of the threads can be output.
    Type: Grant
    Filed: November 23, 2009
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventor: Kirk J. Krauss
  • Patent number: 8832682
    Abstract: One embodiment is a computer-implemented method of trace collection for a virtual machine that includes: executing a sequence of instructions from an initial state of the virtual machine; accessing an event log of data relating to nondeterministic events, which data includes an execution point; making at least a portion of the data available to the virtual machine when the sequence reaches the execution point; collecting trace information in response to expansion parameters; and storing the trace information in a trace file.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: September 9, 2014
    Assignee: VMware, Inc.
    Inventors: Min Xu, Vyacheslav V. Malyugin, Jeffrey W. Sheldon, Ganesh Venkitachalam, Boris Weissman
  • Patent number: 8832664
    Abstract: Apparatuses and methods relate to tracing exchanges of a plurality of signals, including requests and responses, made between a master device and a slave device of the system on chip. The apparatuses and methods further relate to tracking the number of requests and the number of responses made before and after tracing is activated for determining which responses to trace after tracing is activated and for determining which remaining number of responses to trace after tracing is deactivated.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: September 9, 2014
    Assignee: Intel Mobile Communications GmbH
    Inventors: Andre Oliver Richter, Helmut Reinig, Vladimir Todorov
  • Patent number: 8826234
    Abstract: A relational model may be used to encode primitives for each of a plurality of threads in a multi-core processor. The primitives may include tasks and parameters, such as buffers. The relationships may be linked to particular tasks. The tasks with the coding, which indicates the relationships, may then be used upon user selection to display a visualization of the functional relationships between tasks.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: September 2, 2014
    Assignee: Intel Corporation
    Inventors: Christopher J. Cormack, Nathaniel Duca, Jason Plumb
  • Patent number: 8826241
    Abstract: A method of sampling instructions executing in a multi-threaded processor which includes selecting an instruction for sampling, storing information relating to the instruction, determining whether the instruction includes an event of interest, and reporting the instruction if the instruction includes an event of interest on a per-thread basis. The event of interest includes information relating to a thread to which the instruction is bound.
    Type: Grant
    Filed: February 16, 2004
    Date of Patent: September 2, 2014
    Assignee: Oracle America, Inc.
    Inventors: Mario I. Wolczko, Adam R. Talcott
  • Patent number: 8825447
    Abstract: Automatic correlation, in which an automatic correlation accelerator tool accesses at least a first and a second recording of a base script that defines operations executed in testing performance of a system. The tool causes the system to execute the first recording of the base script and the second recording of the base script and stores, in electronic storage, dynamic value data that describes dynamic values generated during execution of the first recording of the base script and during execution of the second recording of the base script. The tool automatically, without human intervention, analyzes the stored dynamic value data to identify candidates for correlation within the base script and generates a correlated script based on the identified candidates for correlation and the base script.
    Type: Grant
    Filed: October 18, 2011
    Date of Patent: September 2, 2014
    Assignee: Accenture Global Services Limited
    Inventors: Jothi Gouthaman, Nantha Kumar, Vinod Kumar Palla, Harimurali Jeyaraj, Radhika Golden
  • Publication number: 20140245268
    Abstract: In a general aspect, a tracer is configured to instrument an application by injecting at least one interrupt instruction at a function entry point in a memory image of the application such that executable code of the application is not modified. The tracer is configured to collect information relating to execution of the application when the inserted at least one interrupt instruction is triggered during runtime of the application including tracing at least one operating system function used by the application at the function entry point. The tracer is configured to create an application signature based on the collected information. The application signature provides information about at least one system object accessed by the at least one operating system function.
    Type: Application
    Filed: May 5, 2014
    Publication date: August 28, 2014
    Applicant: IDENTIFY SOFTWARE LTD. (IL)
    Inventors: Valery GOLENDER, Ido Ben MOSHE, Shlomo WYGODNY
  • Patent number: 8819641
    Abstract: A method of analyzing program execution status for use with a computer software debugger that includes identifying one or more non-deterministic execution steps in the program in one or more threads and recording a state of program properties at non-deterministic execution steps to enable determination of prior program execution status.
    Type: Grant
    Filed: April 27, 2006
    Date of Patent: August 26, 2014
    Assignee: Epic Games, Inc.
    Inventor: Timothy Dean Sweeney
  • Patent number: 8819496
    Abstract: In the system, an apparatus for collecting trace information provided on a circuit executing a program includes a counter unit which increments a count value for each execution cycle of the program, and a collection unit outputs trace information at a fetching timing of the trace information outputted by the circuit and a count value of the counter unit at the fetching timing. Another apparatus for processing trace information includes a trace information acquisition unit which acquires the trace information added with a count value from a trace information collection apparatus, a sort processing unit which sorts the acquired trace information based on the count value, and a trace information storage unit which store the sorted trace information.
    Type: Grant
    Filed: November 5, 2010
    Date of Patent: August 26, 2014
    Assignee: Fujitsu Limited
    Inventor: Atsushi Ike
  • Patent number: 8819630
    Abstract: Architecture that provides a convenient and effective test tool for testing and ensuring that webpages using micro-browsers are sufficiently designed and operational. A task library is developed for manipulating browsers on a handheld device, and includes one or more seamless methods that operate the different browsers in the same way. Seamless virtual functions that manipulate different micro-browsers include, but are not limited to browser launch, exiting a browser, navigating to a home page, clearing a cache, navigating to a webpage, reloading a webpage, getting the current info for a webpage, navigating back to a webpage, checking a page title, and capturing a screen, for example. Device features can also be manipulated to ensure consistency across the testing process.
    Type: Grant
    Filed: December 8, 2008
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Chih-Yung Chen, Shu-Fong Huang, Ellen Huang
  • Publication number: 20140237454
    Abstract: Debugging a debug target software by: (i) generating a first log file set, including at least one log file, based upon how the computer hardware set executes the instructions of the computer software set; (ii) responsive to a first error in the execution of the computer software set, examining at least a portion of the first log file set; and (iii) creating, based at least in part upon the examination of the first log file set, augmented logging instructions for generating augmented logging information, which is helpful for debugging.
    Type: Application
    Filed: February 15, 2013
    Publication date: August 21, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Franck Delporte
  • Patent number: 8813039
    Abstract: A method and system ties together the identification of a defect during testing with the supporting application code on the systems that led to the generation of a defect. The association between the two is through the use of a unique Trace ID. This Trace ID is unique to each interaction between the consumer (e.g. client browser) and the provider system(s) (web application server, back office systems, etc). When a potential defect is identified by the end user or tester, the present invention “collects” the associated log messages using the unique Trace ID and attaches those to the defect. The software developer providing the defect triage can then readily review the associated log files without having to manually search the supporting log files manually.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventor: Jed Maczuba
  • Patent number: 8813037
    Abstract: Methods, apparatus, and computer program products are disclosed for debugging a high performance computing program by gathering lists of addresses of calling instructions for a plurality of threads of execution of the program, assigning the threads to groups in dependence upon the addresses, and displaying the groups to identify defective threads.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventor: Thomas M. Gooding
  • Patent number: 8813040
    Abstract: A method for reporting build runs includes: obtaining code changes for a software product; identifying the code change as affecting a work item of a software product under development, the work item specifies a feature to be added to or a defect to be removed from the software product; generating (i) a plurality of build runs of the software product, respective build runs corresponding to one or more code changes; and (ii) data associating the work item with one or more build runs that each correspond to at least one of the one or more code changes specified as involving the work item; receiving a user input selecting the work item; and in response to the user input, displaying respective identifiers of at least one build run of the one or more build runs associated with the work item, including presenting an identifier of the at least one build run.
    Type: Grant
    Filed: April 8, 2013
    Date of Patent: August 19, 2014
    Assignee: VersionOne, Inc.
    Inventors: Robert Holler, Ian Culling, Rajiv Delwadia, Pavel Mamut, Mark Crowe, Donald Hanson, Patrick Boudreaux, Dan Gilkerson, Eric Farr, Jerry Odenwelder
  • Publication number: 20140229919
    Abstract: The present disclosure provides methods and systems for instrumenting a “semantic stack trace” (SST), where semantic information and dependency relationships between a plurality of code elements (“elements”) are captured during runtime execution of various front-end declarative languages, and are subsequently extracted for display in a SST-enabled interactive user interface with traversing capability. Embodiments of the present invention enable a framework for traversing and debugging complex code, providing an unprecedented lens into understanding code behavior in mixed imperative and declarative construction languages.
    Type: Application
    Filed: February 8, 2013
    Publication date: August 14, 2014
    Applicant: Facebook, Inc.
    Inventors: Alexey Spiridonov, William Jacobs
  • Patent number: 8806445
    Abstract: A computer-implemented method of performing runtime analysis on and control of a multithreaded computer program. One embodiment of the present invention can include identifying threads of a computer program to be analyzed. With a supervisor thread, execution of the identified threads can be controlled and execution of the identified threads can be monitored to determine a status of the identified threads. An indicator corresponding to the determined status of the threads can be output.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventor: Kirk J. Krauss
  • Patent number: 8806435
    Abstract: A method and system to remotely log debug information is described. A computer executing program code generates debug information upon the occurrence of an error in execution. The debug information is then sent to a remote computer using a network adaptor. In one embodiment, the computer executing the program is Extensible Firmware Interface (EFI) compliant.
    Type: Grant
    Filed: December 31, 2004
    Date of Patent: August 12, 2014
    Assignee: Intel Corporation
    Inventors: Ying'an Deng, Rui Jian, Caidong Song, Yuanhao Sun, Zhi Wang
  • Patent number: 8806434
    Abstract: In a method for configuring an integrated development environment for programming a type of computer application, a computer receives a selection of a target application runtime program supporting one or more types of computer applications. The computer sends a request for information and receives information on the one or more types of computer applications supported by the target application runtime program. The computer determines, based on the received information, the one or more types of computer applications supported by the target application runtime program. The computer requests and receives a selection of the type of computer application. The computer configures an integrated development environment for programming the type of computer application selected.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Dustin K. Amrhein, Douglas C. Berg, Nitin Gaur, Christopher D. Johnson
  • Patent number: 8806444
    Abstract: Activities of a user are tracked while a user uses a software application. Based on the tracked user activities, a user-experience metric is determined for the user, where the user-experience metric reflects a need to modify a user experience associated with the software application. In response to the determined user-experience metric, the user experience is modified. For example, modifying the user experience may include: providing help content to the user, changing a user interface associated with the software application, and/or contacting the user.
    Type: Grant
    Filed: April 7, 2011
    Date of Patent: August 12, 2014
    Assignee: Intuit Inc.
    Inventors: Igor A. Podgorny, Moshe Olim, Marc J. Attinasi, Troy D. Otillio
  • Patent number: 8806436
    Abstract: Systems and methods provide a debugger that debugs code using two versions of code, an optimized and a debuggable version of object code for subroutines, methods or functions. The debugger causes the appropriate version of the code to be executed depending on whether debug commands have been applied with respect to particular subroutines, methods or functions.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: August 12, 2014
    Assignee: Cray Inc.
    Inventors: Robert Warren Moench, Robert Cushman Clark
  • Patent number: 8806449
    Abstract: A debugger includes a thread holding mechanism that analyzes the code being executed by multiple threads, and delays holding each thread that is currently executing system code external to the program until the thread is no longer executing the system code external to the program, or until some threshold is exceeded. Delaying holding of a thread that is executing system code external to the program avoids potential conditions that could lock up the debugger.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8799868
    Abstract: In a method and apparatus of performing unit testing of a software module, the method provides for reading, by a computer, target data and discovering of functional aspects of a piece of software code, dividing the target data into chunks, estimating a plurality of decision/condition statements of the software code, estimating an amount of possible test cases based on the program inputs, defining a data set over the plurality of identified decisions/conditions, finding subset relationships between all the defined data sets, defining a plurality of optimal data sets, classifying the condition of the plurality of optimal data sets by category, refining the plurality of optimal data sets, and calculating the best amount of data sets.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: August 5, 2014
    Assignee: Siemens Aktiengesellschaft
    Inventors: Guy Collins Ndem, Abbas Abdelhamid Abbas Tahir
  • Patent number: 8799873
    Abstract: Collecting tracepoint data includes: maintaining, by a log handler, a list of a plurality of tracepoints and each tracepoint's parameters, the values of the parameters defining, for a tracepoint, information to be stored when an application encounters the tracepoint; encountering, by an application, a tracepoint; determining, responsive to the encounter by the log handler, whether the tracepoint is linked to a different tracepoint; and if the tracepoint is linked to a different tracepoint, determining, by the log handler, whether to modify values of the parameters for the different tracepoint and executing the different tracepoint.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, John M. Santosuosso
  • Publication number: 20140215443
    Abstract: A system and methods are provided for distributed tracing in a distributed application. In one embodiment, a method includes observing a plurality of messages sent and received among components of the distributed application, generating a probabilistic model of a call flow from observed messages of the distributed system, and constructing a call flow graph based on the probabilistic model for the distributed application. Distributed tracing may include observing messages by performing the subscription-based observation techniques and operations to receive, message traces describing messages being communicated among components of the distributed application. In this regard, the tracing service may merge message traces from different instrumentation points with message traces obtained by observing message queues to generate a probabilistic model and call flow graph.
    Type: Application
    Filed: January 28, 2013
    Publication date: July 31, 2014
    Applicant: Rackspace US, Inc.
    Inventors: Paul Voccio, Matthew Charles Dietz
  • Publication number: 20140215444
    Abstract: A system and methods are provided for function-specific tracing of a program. In one embodiment, a method includes generating a trace profile identifying one or more functions of a target program, wherein the trace profile identifies one or more functions to trace and depth of tracing for each function to be traced, loading the trace profile and the target program, identifying traced functions in the target program based on the trace profile, patching the target program to call a trace parameter for one or more functions, wherein traced functions are declared at runtime, and observing function calls for traced functions of the application. In this regard, individual functions are traced and debugged on a function-by-function basis without modifying the code or pre-arranging functions so they are traceable. As such, the scope of tracing may be dynamically limited to yield only information that is desired.
    Type: Application
    Filed: January 28, 2013
    Publication date: July 31, 2014
    Applicant: Rackspace US, Inc.
    Inventors: Paul Voccio, Matthew Charles Dietz
  • Patent number: 8793673
    Abstract: An illustrative embodiment provides a computer-implemented process for algorithm complexity identification through inter-procedural data flow analysis receives a call graph to form a set of received nodes in a static analysis framework, identifies a parent node in the set of received nodes to form an identified parent, traverses the call graph from the identified parent node to a node to identify a function within the node to form an identified function. Each identified function is analyzed to form a complexity value in a set of complexity values. Responsive to a determination that node analysis is complete, and responsive to a determination that path analysis is complete, determines whether path analysis for the identified parent is complete. Responsive to a determination that path analysis for the identified parent is complete, sum the complexity values in the set of complexity values for the identified parent and return the complexity value for the identified parent to a requester.
    Type: Grant
    Filed: November 2, 2010
    Date of Patent: July 29, 2014
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Gutz, Mohammed Mostafa, Joshua P. Tessier
  • Patent number: 8793661
    Abstract: A system is configured to obtain code that includes a set of protected instructions, the set of protected instructions, when executed, performing acts associated with the code; execute a region of the code, the region including a protected instruction, the protected instruction identifying a first condition that, when satisfied by a condition under which a particular error is detected, causes an exception, associated with the particular error, to be raised, the first condition being specified by a programmer associated with the computing device; detect an error within a line of the code associated with the protected instruction; identify a second condition under which the error is detected; determine whether the second condition satisfies the first condition; raise an exception, associated with the error, when the second condition satisfies the first condition; and process the error based on raising the exception associated with the error.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: July 29, 2014
    Assignee: Google Inc.
    Inventors: Long Fei, Manisha Jain
  • Publication number: 20140208298
    Abstract: In response to identification of an error in operation of a system, a debugging module determines where to set a debug entry point for a program subset debug session. An initial file state is captured for at least one file accessed by the system in response to initiation of a subsequent execution of the system. Prior to detection of execution of the system at the debug entry point, any file inputs and file outputs (I/Os) detected during the subsequent execution of the system are queued. Debug entry point metadata, including the captured initial at least one file state, the queued file I/Os, and an image of all instantiated objects at the debug entry point, is stored in response to detection of execution of the system at the debug entry point.
    Type: Application
    Filed: March 21, 2014
    Publication date: July 24, 2014
    Applicant: International Business Machines Corporation
    Inventors: Richard A. Brunkhorst, Joel Duquene, David S. Myers
  • Patent number: 8789054
    Abstract: A method for verifying software includes accessing a job queue, accessing a resource queue, and assigning a job from the job queue to a resource from the resource queue if an addition is made to the a job queue or to a resource queue. The job queue includes an indication of one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified. The resource queue includes an indication of a one or more worker nodes available to verify a portion of software. The resource is selected by determining the best match for the characteristics of the selected job among the resources in the resource queue.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: July 22, 2014
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Mukul Ranjan Prasad
  • Patent number: 8789019
    Abstract: Various embodiments include at least one of systems, methods, and software to receive input configuring tests within a computing environment to expose users to standard application or website experiences or test experiences. In some embodiments, multiple tests may be configured to run orthogonally within user experiences without affecting the results of one another. Some such embodiments preserve the ability to execute certain tests in a non-orthogonal manner while other tests are allowed to execute orthogonally.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: July 22, 2014
    Assignee: eBay Inc.
    Inventors: Jasdeep Singh Sahni, Anil Madan, Deepak Seetharam Nadig, Po Cheung, Bhavesh Mistry, John Bodine, Michael Lo
  • Patent number: 8782613
    Abstract: Applications are optimized using source code patterns and performance analysis. Patterns of inefficiently coded statements are stored, and source code that includes program statements are identified. The program statements are compared with the patterns to identify program statements that are inefficiently coded. An execution of a compiled version of the source code is monitored to identify program statements that cause performance issues The identified program statements that are inefficiently coded are compared with the identified program statements that cause performance issues to determine program statements that are inefficiently coded and cause performance issues.
    Type: Grant
    Filed: August 12, 2008
    Date of Patent: July 15, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Larry M. Hines
  • Patent number: 8782610
    Abstract: A data structure of a run-time object having a hash value field. The data structure allows an object allocation site to be traced from the run-time object, the object allocation site being a site in a program allocating the run-time object. A method for allowing an object allocation site to be traced from a run-time object includes embedding a value corresponding to the object allocation site in the program. A hash-value field includes the embedded value and the object identifier, and the tracing is performed by identifying the object allocation site that corresponds to the embedded value. A computer system for tracing an object allocation site includes a memory that stores the run-time object; an acquirer that acquires the value from a hash value field; and an identification unit that identifies the object allocation site that corresponds to the acquired value.
    Type: Grant
    Filed: August 16, 2013
    Date of Patent: July 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Rei Odaira, Kazunori Ogata
  • Patent number: 8775769
    Abstract: A partition-based method for diagnosing memory leaks in Java systems, comprising dividing heap memory of a Java virtual machine into a plurality of partitions based on a partition plan, wherein each partition has at least one partition owner; monitoring the status of the respective partitions to determine whether there is a partition in which the memory space is exhausted; and if there is a partition in which the memory space is exhausted, determining that the memory leak may occur in the partition and analyzing the partition to obtain leaked objects and objects related to the leaked objects. The present invention also provides a partition-based apparatus for diagnosing memory leak in Java systems.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: July 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ying Li, Quan Long, Tiancheng Lui, Jie Qiu
  • Patent number: 8776025
    Abstract: A method, information processing system, and computer program product integrate a code coverage tool with a debugger. A debugging process is performed on a set of source code for an application program. A set of code coverage information associated with the set of source code is analyzed with respect to a set of debugging information. The set of code coverage information at least identifies a set of instructions that has been executed. A set of source code lines in the set of source code that correspond to the set of instructions that has been executed is identified based on the analyzing. A user is notified through a user interface that the set of instructions associated with the identified set of source code have been executed.
    Type: Grant
    Filed: November 4, 2011
    Date of Patent: July 8, 2014
    Assignee: International Business Machines Corporation
    Inventor: Joshua B. Wisniewski
  • Patent number: 8775871
    Abstract: A system and method thereof for performing loss-less migration of an application group. In an exemplary embodiment, the system may include a high-availability services module structured for execution in conjunction with an operating system, and one or more computer nodes of a distributed system upon which at least one independent application can be executed upon. The high-availability services module may be structured to be executable on the one or more computer nodes for loss-less migration of the one or more independent applications, and is operable to perform checkpointing of all state in a transport connection.
    Type: Grant
    Filed: July 26, 2013
    Date of Patent: July 8, 2014
    Inventors: Keith Richard Backensto, Allan Havemose
  • Patent number: 8769501
    Abstract: A method for analyzing changes in a software code may have the steps of: inputting a plurality of different versions of a plurality of software artifacts to a change analysis device, deriving design constructs of the software code of the software artifacts by using an abstract syntax tree analysis, with the software code differences between the different versions of each of the software artifacts, classifying the derived design constructs of each of the software artifacts according to the compared software code differences, and outputting a visualization of the design constructs of each of the software artifacts, which visualization is structured according to the classification of the design constructs.
    Type: Grant
    Filed: December 7, 2011
    Date of Patent: July 1, 2014
    Assignee: Siemens Aktiengesellschaft
    Inventors: Jürgen Salecker, Egon Wuchner
  • Patent number: 8769505
    Abstract: A method disclosed herein provides for receiving information relating to an event that occurred while processing server request from a compiled code snippet inserted into a compiled computer program, calculating diagnostic information relating to execution of the server request based on the received information, and providing the diagnostic information. Alternatively, a computer-readable medium, storing a set of instructions, is provided for, the instructions, when executed by a processor perform a method including, while a server request is being executed, receiving information from a compiled code snippet, in inserted into a compiled computer program, the received information relating to a thread starting to process the server request.
    Type: Grant
    Filed: January 24, 2011
    Date of Patent: July 1, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Piotr Findeisen
  • Patent number: 8769512
    Abstract: A method apparatus and computer program product is disclosed for adding instrumentation to a body of code to enable generation of code coverage data for said body of code in which used instrumentation code is arranged to be optimized out by a compiler.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ian O. Partridge, Adam J. Pilkington, David S. Renshaw, Andrew Taylor