Tracing Patents (Class 717/128)
  • Patent number: 8924939
    Abstract: Method, system and computer program product for performing an operation, the operation including providing a plurality of processing elements comprising one or more operators, the operators configured to process streaming data tuples. The operation then establishes an operator graph of multiple operators, the operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator. The operation then defines a breakpoint, the breakpoint comprising a condition, the condition based on attribute values of data tuples in a window of at least one operator, the window comprising a plurality of data tuples in an operator. The operation, upon detecting occurrence of the condition, triggers the breakpoint to halt processing by each of the plurality of operators in the operator graph.
    Type: Grant
    Filed: May 9, 2012
    Date of Patent: December 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, Ryan K. Cradick, John M. Santosuosso, Brandon W. Schulz
  • Publication number: 20140380282
    Abstract: Aspects of the subject disclosure are directed towards monitoring application performance during actual use, particularly mobile application performance. Described is instrumenting mobile application binaries to automatically identify a critical path in user transactions, including across asynchronous-call boundaries. Trace data is logged by the instrumented application to capture UI manipulations, thread execution, asynchronous calls and callbacks, UI updates and/or thread synchronization. The trace data is analyzed to assist developers in improving application performance.
    Type: Application
    Filed: June 20, 2013
    Publication date: December 25, 2014
    Inventors: Lenin Ravindranath Sivalingam, Jitendra D. Padhye, Sharad Agarwal, Ratul Mahajan, Ian Obermiller, Shahin Shayandeh
  • Patent number: 8918616
    Abstract: The subject disclosure relates to analyzing memory allocations for one or more computer-implemented processes. In particular, in conjunction with employing tags for tracking memory allocation commands, currently allocated memory can be examined for various characteristics of inefficient memory use. For example, as memory is initially allocated, a predetermined bit pattern can be written to the newly allocated memory. Thus, detection of the predetermined bit pattern can be indicative of wasted memory use. Moreover, additional features can be provided to both analyze data and present views associated with that analysis relating to identification of memory fragmentation, over-allocation, sparse memory use, duplication of allocations, multiple module loads, and so forth.
    Type: Grant
    Filed: August 24, 2011
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventor: Calvin Hsia
  • Patent number: 8918764
    Abstract: An approach to selectively recording trace data. The approach sifts through process control and state data to store data that is most relevant to aiding debugging while reducing the overall amount of data that is stored in a trace data set by a trace facility. The approach may involve initiating a trace operation for the software component and, for each resource of the software component, determining whether the resource is currently in use. For those resources in use, the current state of the resource is compared with the previous state of the resource. If the current state has changed, the current state is written to the trace data set. If the resource is not in use, or the current state has not changed, no entry is made to the trace data set. The approach may also analyze users to determine which resources the users are holding and/or waiting for.
    Type: Grant
    Filed: September 21, 2011
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Joel L. Masser, David C. Reed, Max D. Smith
  • Publication number: 20140372987
    Abstract: A method is described that involves referring to first information from a directory table in system memory. The first information includes location information and size information of a first slice of system memory where first tracing data is to be stored. The method also includes tracking the amount of tracing data stored in the first slice of system memory and comparing the amount against the size information. The method also includes, before the first slice of system memory is filled, referring to second information from the directory table in system memory, where, the second information includes location information and size information of a second slice of system memory where second tracing data is to be stored. The first slice is not contiguous with the second slice of system memory.
    Type: Application
    Filed: June 15, 2013
    Publication date: December 18, 2014
    Inventors: Beeman C. Strong, Jason W. Brandt, Tsvika Kurts, Peter Lachner, Itamar Kazachinsky, Stephen J. Robinson, Peggy J. Irelan
  • Patent number: 8914757
    Abstract: A method, system and product for explaining illegal combinations in combinatorial models. The method comprising obtaining a combinatorial model and an illegal combination that is excluded from the model by one or more restrictions, utilizing a Satisfiability solver on a satisfiability formula that encodes the legal test space and that assigns values to attributes as defined by the illegal combination, whereby the satisfiability solver provides an indication of unsatisfiability of the satisfiability formula and an UNSAT core comprising a subset of clauses defined by the satisfiability formula which are unsatisfiable; and identifying the one or more restrictions by mapping the clauses of the UNSAT core with clauses encoding the set of restrictions.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: December 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sharon Keidar-Barner, Itai Yosef Segall, Rachel Tzoref-Brill
  • Patent number: 8910125
    Abstract: Systems, methods and computer program products may provide monitoring of software performance on a computer. A method of monitoring software performance in a computer may include marking at least one of a load request and a store request, the marked request including an effective instruction address and an effective data address, recording the effective instruction and data addresses in a processor core and sending the marked request to a memory subsystem. The method may also include receiving a fabric response for the marked request, recording the fabric response in the core and tying the effective instruction and data addresses and the fabric response together in a sample.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Guy L Guthrie, Randall R Heisch, Venkat R Indukuru, Aaron C Sawdey
  • Patent number: 8910124
    Abstract: An apparatus and method for aiding in debugging and optimizing software is presented, in particular for instrumenting software to trace function calls. Source code is compiled with placeholder memory ranges. While executing the compiled binary object, a call-trace profiling function is inserted into at least certain of the placeholder memory ranges to log call-trace profiling data. Then, the compiled binary object is restored to its original state by removing the call-trace profiling function(s). A NOP function can be inserted in each placeholder memory range during compilation.
    Type: Grant
    Filed: October 31, 2011
    Date of Patent: December 9, 2014
    Assignee: Google Inc.
    Inventors: Sanjay Bhansali, Harshit Chopra
  • Patent number: 8910119
    Abstract: A system and method for displaying a trace are described. In an embodiment, the described trace display includes a navigational map that illustrates the linear path taken to get to a selected logical unit and may be used to go back to any previously viewed logical unit in that path. The trace display also includes information section to display relevant information about the currently selected logical unit of the trace.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: December 9, 2014
    Assignee: SAP AG
    Inventor: Gorka J. Ivanova
  • Patent number: 8904360
    Abstract: Embodiments of the invention may provide for collecting specified data each time that a call to a given method occurs, wherein a given call to the given method is associated with a set of arguments comprising one or more particular argument values for the given method, and the collected data includes an element uniquely identifying each of the particular argument values. The process may further include storing the collected data at a selected location, and selecting a call threshold for the given method, wherein the call threshold comprises a specified number of occurrences of the given call to the given method, when the program is running. The collected data may be selectively analyzed at the storage location, to determine whether an occurrence of the given call to the given method has exceeded the call threshold.
    Type: Grant
    Filed: September 17, 2013
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mark A. Alkins, Denny Pichardo, Martin J. C. Presler-Marshall, Hunter K. Presnall
  • Patent number: 8904339
    Abstract: A method (and system) of modeling runtime behavior for a software application includes limiting a portion of a run to be analyzed using criteria that define an analysis scenario, structuring events of the analysis scenario as a flow of logical content through a plurality of transformations, applying labels to elements of the flow, and generating a behavior signature for the analysis scenario based on the labels.
    Type: Grant
    Filed: October 12, 2006
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Nicholas Matthew Mitchell, Gary S. Sevitsky, Harini Srinivasan
  • Patent number: 8904359
    Abstract: A method, system, and computer usable program product for on-demand monitoring of memory usage are provided in the illustrative embodiments. An indication of a memory leak in an application is detected where the application is operating in a data processing system and using a memory associated with the data processing system. An instruction to begin monitoring a memory usage of the application is received responsive to the detection. Responsive to receiving the instruction to begin, the memory usage of the application is monitored. An instruction to dump a data related to the monitoring is received and the data is dumped. An instruction to end the monitoring is received and the monitoring is ended. The detecting, the beginning, the dumping, and the ending may occur while the application remains in operation and while the application uses the memory. The memory leak is confirmed using the data.
    Type: Grant
    Filed: March 6, 2008
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: I-Lung Kao, Frances L. Chang
  • Patent number: 8898648
    Abstract: A profiling tool identifies a code region with a false sharing potential. A static analysis tool classifies variables and arrays in the identified code region. A mapping detection library correlates memory access instructions in the identified code region with variables and arrays in the identified code region while a processor is running the identified code region. The mapping detection library identifies one or more instructions at risk, in the identified code region, which are subject to an analysis by a false sharing detection library. A false sharing detection library performs a run-time analysis of the one or more instructions at risk while the processor is re-running the identified code region. The false sharing detection library determines, based on the performed run-time analysis, whether two different portions of the cache memory line are accessed by the generated binary code.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: November 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: I-Hsin Chung, Guojing Cong, Hiroki Murata, Yasushi Negishi, Hui-Fang Wen
  • Patent number: 8898641
    Abstract: A computer collects first test metrics on a transaction hosted within a middleware container, and is executing within a first environment. The computer generates baseline values of expected execution behavior of the transaction based on the first test metrics. The computer collects second test metrics on the transaction hosted within the middleware container, and is executing within a second environment. The computer compares the second test metrics to the baseline values. The computer determines whether the second test metrics satisfy the baseline values. In response to the second test metrics not satisfying the baseline values, the computer identifies the transaction as a candidate for cancellation.
    Type: Grant
    Filed: January 31, 2012
    Date of Patent: November 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Martin E. D. Adams, William Bittles, John W. Duffell, Yue Wang
  • Patent number: 8898644
    Abstract: The invention efficiently provides user code information for kernel level tracing approaches. It applies an advanced variation of stack walking called multi-mode stack walking to the entire system level and generates the unified trace where the user code and kernel events are integrated. The invention uses runtime stack information and internal kernel data structures. Therefore, source code for user level code and libraries are not required for inspection. The invention introduces the mechanism to narrow down the monitoring focus to specific application software and improve monitoring performance.
    Type: Grant
    Filed: May 24, 2013
    Date of Patent: November 25, 2014
    Assignee: NEC Laboratories America, Inc.
    Inventors: Junghwan Rhee, Hui Zhang, Nipun Arora, Guofei Jiang, Kenji Yoshihira
  • Patent number: 8898636
    Abstract: One embodiment of the present invention provides a system for testing an application running on a virtual machine. Note that this involves the system profiling the application, and determining when the virtual machine is executing code in response to commands from the application and when a device hosting the virtual machine is executing code in response to commands from the virtual machine. During operation, the system executes the application. In response to executing the application, the system receives a code-level log associated with the application from a code-level profiler. Then, using a system-level profiler, the system creates a system-level log associated with the application. Next, the system combines the code-level log and the system-level log to produce a profile of the application. The system then analyzes the profile to determine if a problem exists in the application.
    Type: Grant
    Filed: February 14, 2007
    Date of Patent: November 25, 2014
    Assignee: Oracle America, Inc.
    Inventors: Omer Pomerantz, David Glushko, Ami Navon
  • Patent number: 8898642
    Abstract: Methods and systems are disclosed for analyzing performance of a translated code stream executing within a central processing module. One method includes, during execution of one or more native instructions corresponding to each non-native operator in the code stream by the code execution unit, counting the occurrence of the non-native operator, determining a duration of execution of the one or more native instructions, and adding the non-native operator to a trace sequence. The method also includes, after execution of the code stream within the central processing module, generating a data file of non-native operators executed within the code stream, the data file of operators including a name of each non-native operator, an elapsed amount of time within the code execution unit that the one or more native operators corresponding to the non-native operator are executed, and a number of occurrences of the non-native operator within the code stream.
    Type: Grant
    Filed: February 16, 2012
    Date of Patent: November 25, 2014
    Assignee: Unisys Corporation
    Inventors: Andrew Ward Beale, Loren C. Wilton
  • Patent number: 8898643
    Abstract: Example systems and methods for trace replay and simulation are presented. The system creates a trace entry for each one of a plurality of transactions through the server interface for a client, A message type and message data are recorded into the trace entry for each one of the plurality of transactions. A collection of trace entries for an individual one of the plurality of clients is transferred to a trace player. A client identifier is replaced in the trace entry with an identifier associated with the trace player, An interaction between the server and the clients is replayed.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: November 25, 2014
    Assignee: SAP SE
    Inventor: Matthias Rode
  • Patent number: 8898794
    Abstract: One embodiment of a computer-implemented data structure synchronization mechanism comprises an interface for accessing a data structure and storing ownership data in a shared memory location. The method further comprises denying write operations if the thread attempting the write operation is not designated as the owner thread by said ownership data. The method further comprises denying requests to modify the ownership data if the thread making the request is not designated as the owner thread by said ownership data. The method further comprises effecting a write fence in the context of the thread making the request to modify ownership data prior to modifying the ownership data. Other embodiments are described.
    Type: Grant
    Filed: September 6, 2011
    Date of Patent: November 25, 2014
    Inventor: Andrei Teodor Borac
  • Patent number: 8893091
    Abstract: A method, computer program product, and system for running an executable during a debug session is described. A method may comprise running, via a computing device, a daemon during a debug session, the debug session facilitated, at least in part, by a dynamic tracing tool. The method may further comprise receiving, via the daemon, one or more commands from the dynamic tracing tool. The method may additionally comprise in response to receiving the one or more commands from the dynamic tracing tool, initiating an executable.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventor: Prateek Goel
  • Patent number: 8893092
    Abstract: A program code data structure is described. The data structure contains substantive code of a multithreaded computer program that includes a plurality of communicating instructions that effect communication between threads. The data structure further contains, at each of one or more points in the substantive code, an indication that, when the computer program is being executed, one or more communicating instructions that are in a selected relationship with the indication should be executed by any thread that reaches the point in a particular order relative to execution of one or more other communicating instructions by other threads. The contents of the data structure may be used to determine an order in which to execute communicating instructions.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: November 18, 2014
    Assignee: F5 Networks, Inc.
    Inventors: Andrew J. Whitaker, Mark H. Qskin, Peter J. Godman
  • Patent number: 8887138
    Abstract: A dataflow program defining actors that pass tokens from one to another via connections is processed by causing one or more processors to access and execute instructions of the dataflow program. As instructions of the dataflow program are being executed, a first set of trace records is created that represents a sequence of events (e.g., token production/consumption, actor state change, or action firing). A first subset of the trace records is displayed and one of these is selected. The first set is processed to identify, based on definitions specified by the dataflow program, a second set of trace records, of which a subset is displayed.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: November 11, 2014
    Assignee: Telefonaktiebolaget L M Ericsson (Publ)
    Inventors: Johan Eker, Harald Gustafsson, Song Yuan
  • Patent number: 8887124
    Abstract: In computer-implemented methods to validate process models, the models carry semantic information that is related to the process steps, including pre-conditions that indicate whether a step would be executable under certain conditions and post-conditions relating to results from executing a step. Steps are related as predecessor/successor so that a post-condition of the predecessor step can be the pre-condition of a successor step. During model validation, variables are exchanged and propagated between the step conditions. Instead of validating the model for potentially all initial values of variables and conditions, the system identifies portions of the model that can be validated separately for a reduced set of initial states.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: November 11, 2014
    Assignee: SAP SE
    Inventors: Ingo Weber, Christian Quanz, Joerg Hoffmann
  • Patent number: 8887139
    Abstract: A virtual system comprises hardware, a virtualization layer virtualizing the hardware, a virtual machine monitor, a user domain operating using the virtualized hardware, and a root domain operating using the virtualized hardware and managing the user domain. The virtual machine monitor analyzes an operation performed by the user domain in real time and stores resulting analysis information in the root domain.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: November 11, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Mi-Kyoung Park, Jong Moo Choi, Jong Hwa Kim, Hee Kwon Park
  • Patent number: 8881102
    Abstract: The method of the invention enables a user to select an item, associates the item with at least a parameter indicating the geographical area where the item was selected, and presents a collection of items including the item dependent on whether a relation exists between the parameter indicating the geographical area where the item was selected and a parameter indicating the geographical area where the item is being presented. The computer program of the invention enables a programmable device to carry out the method of the invention. The electronic device of the invention is capable of carrying out the method of the invention.
    Type: Grant
    Filed: July 29, 2004
    Date of Patent: November 4, 2014
    Assignee: Koninklijke Philips N.V.
    Inventors: Bartel Marinus Van De Sluis, Vincentius Paulus Buil, Elmo Marcus Attila Diederiks
  • Patent number: 8881107
    Abstract: Memory leak detection can be automated by assigning and recording an increasing sequence number to each memory allocation requested by an action. Call stacks associated with the action are also recorded. Several repetitions of the action can be executed. Allocations that occur in each action and that have similar or matching callstacks are defined as leaks. Allocations that do not have matches can be ignored.
    Type: Grant
    Filed: August 24, 2011
    Date of Patent: November 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Benjamin W. Bradley, Calvin Hsia
  • Patent number: 8881114
    Abstract: A method and system of inserting marker values used to correlate trace data as between processor cores. At least some of the illustrative embodiments are integrated circuit devices comprising a first processor core, a first data collection portion coupled to the first processor core and configured to gather data comprising addresses of instructions executed by the first processor core, a second processor core communicatively coupled to the first processor core, and a second data collection portion coupled to the first processor core and configured to gather data comprising addresses of instructions executed by the second processor core. The integrated circuit device is configured to insert marker values into the data of the first and second processor cores which allow correlation of the data such that contemporaneously executed instruction are identifiable.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: November 4, 2014
    Assignee: Texas Instruments Incorporated
    Inventors: Oliver P. Sohm, Brian Cruickshank, Manisha Agarwala, Gary L. Swoboda
  • Publication number: 20140325487
    Abstract: Provided are approaches for software defect reporting. Specifically, one approach provides identifying a software defect; generating a software defect report, wherein the software defect report is generated in real-time as the software defect is identified during testing of the test case, wherein the software defect report is submitted by a testing entity to a software developer responsible for creating a software product having the software defect, and wherein the defect report contains information to identify the location of the software defect in the application code of the software product; determining if the software defect report information is complete; and if the software defect report information is not complete, the updating the defect report information, determining if the software defect is reproducible, and recreating the software defect in the case that the software defect is reproducible.
    Type: Application
    Filed: July 14, 2014
    Publication date: October 30, 2014
    Inventor: Jed Maczuba
  • Patent number: 8875092
    Abstract: A mechanism for certifying software components using a defect tracking system is disclosed. A method of the invention includes receiving at a defect tracking system server device a software certification request of a software product with respect to a platform, mapping attributes of the software certification request into pre-existing attributes of a defect template of the defect tracking system server device, and providing the software certification request to a software certification testing server to enable the software certification testing server to run one or more tests that are part of a software certification test plan for the software product.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: October 28, 2014
    Assignee: Red Hat, Inc.
    Inventor: Shreyank Gupta
  • Patent number: 8875158
    Abstract: A method for request profiling in service systems with kernel events includes collecting kernel events traces from a target system, the kernel event traces being obtainable from individual service machines by instrumenting core kernel functions, analyzing kernel event traces for constructing end-to-end request profiling traces consisting of kernel events belonging to service processes, and categorizing request traces responsive to the analyzing with the constructing including grouping requests based on marking kernel events used in the analyzing.
    Type: Grant
    Filed: March 26, 2013
    Date of Patent: October 28, 2014
    Assignee: NEC Laboratories America, Inc.
    Inventors: Hui Zhang, Junghwan Rhee, Guofei Jiang, Kenji Yoshihira
  • Patent number: 8874530
    Abstract: A method, computer readable medium and system are disclosed. At least one embodiment of a method includes receiving one of a character and a string; determining a character string part space based on a remaining portion of a character string part capacity, of an existing array element, and a length of one of the character and the string; and one of (1) storing one of the character and the string in the existing array element if the length of one of the character and the string is less than or equal to the remaining character string part capacity of an existing array element and (2) adding a new array element and storing one of the character and the string in the new array element if the length of one of the character and the string is greater than the remaining character string part capacity of an existing array element.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: October 28, 2014
    Assignee: Siemens Aktiengesellschaft
    Inventor: Andreas Siwick
  • Patent number: 8875107
    Abstract: Systems and computer program products for lock tracing at a component level are disclosed. The one or more embodiments of the invention include computer program instructions for associating one or more locks with a component of the operating system; initiating lock tracing for the component; and instrumenting the component-associated locks with lock tracing program instructions in response to initiating lock tracing. The locks are selected from a group of locks configured for use by an operating system and individually comprise locking code. The component lock tracing may be static or dynamic.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Juan M Casas, Saurabh Nath Sharma, Basu Vaidyanathan
  • Publication number: 20140317606
    Abstract: Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.
    Type: Application
    Filed: June 12, 2013
    Publication date: October 23, 2014
    Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
  • Publication number: 20140317603
    Abstract: A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration.
    Type: Application
    Filed: June 12, 2013
    Publication date: October 23, 2014
    Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
  • Publication number: 20140317604
    Abstract: Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes.
    Type: Application
    Filed: June 12, 2013
    Publication date: October 23, 2014
    Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
  • Publication number: 20140317605
    Abstract: A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.
    Type: Application
    Filed: June 12, 2013
    Publication date: October 23, 2014
    Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
  • Patent number: 8869109
    Abstract: A method for disassembling an executable binary (binary). In one implementation, a plurality of potential address references may be identified based on the binary and a plurality of storage addresses containing the binary. A plurality of assembler source code instructions (instructions) may be generated by disassembling the binary. The binary may be disassembled at one or more sequential addresses starting at each of the plurality of potential address references.
    Type: Grant
    Filed: March 17, 2008
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Aimin Pan, Kaimin Zhang, Bin Zhu
  • Patent number: 8868982
    Abstract: In accordance with one aspect of the invention, a system for generating compact function trace data for leaf functions includes a central processing unit (CPU), configured to output program flow information needed for generating a program flow trace, and a trace unit, coupled to the CPU. The trace unit is configured to receive the program flow information from the CPU for generating compact function trace data. The trace unit further comprises a first output mode and a second output mode and is further configured to select either the first output mode or the second output mode for generating compact function trace data.
    Type: Grant
    Filed: January 18, 2012
    Date of Patent: October 21, 2014
    Assignee: Infineon Technologies AG
    Inventors: Albrecht Mayer, Harry Siebert
  • Patent number: 8869117
    Abstract: Provided are techniques for the tracing of computer processes and, more specifically, to techniques that enable a work unit to be traced across multiple processing components. A data structure is created and associated with a work unit. The first time a unit of work is processed a tracing context is retrieved form a pool and associated with the data structure. As the unit of work is passed from component to component, the data structure is passed so that each component has access and is able to augment the same tracing context associated with the unit of work.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: October 21, 2014
    Assignee: International Business Machines Corporation
    Inventors: Vishal Chittranjan Aslot, Brian W. Hart, Anil Kalavakolanu, Evelyn Tingmay Yeung
  • Patent number: 8863092
    Abstract: The subject disclosure relates to enabling the evolution of a framework by providing public surface area factorings for both old and new public surface areas. The factoring can mitigate changes in the implementation of existing distributions of framework. The factoring can also mitigate breaking existing binaries. Further, the factoring can be provided while mitigating a degradation in the security guarantees of the linking model. The factorings can be applied for runtime and/or for a development toolkit. Thus, multiple, almost simultaneous, interoperable views of a framework implementation can be enabled at runtime and/or at design or build time. The views can represent different versions of the framework.
    Type: Grant
    Filed: February 10, 2011
    Date of Patent: October 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Mircea Trofin, Wes Haggard, Krzysztof Cwalina, David Kean, Jobst-Immo Landwerth
  • Patent number: 8863091
    Abstract: A computer is programmed with multiple software programs to record structures including (a) unstructured information to denote a transition between portions of code, and (b) metadata related to one or more attributes of the information. In addition, the computer writes two additional types of structures: section type, and dump type. The section type structure has metadata to indicate a beginning and an end, to bracket a group of structures located therebetween. The dump type has a dump header and a dump body. The dump header includes a symbol to indicate it's of dump type. The dump body is a set of values of an object used by the software program(s) during execution by the computer. A group of structures, within a section type, may include structures of each of the trace record type, dump type and section type.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: October 14, 2014
    Assignee: Oracle International Corporation
    Inventors: Benoit Dageville, Amirali S. Valiani, Hailing Yu, Gary Ngai
  • Patent number: 8863086
    Abstract: A system and method are provided for data collection and analysis of information related to applications. Specifically, the developer of the application may install analytic software, which may be embodied as a software development kit (SDK), on an integrated development environment (“IDE”) associated with the developer, wherein the analytic software may be installed with a wizard-like interface having a series of easy to follow instructions. Once installed, the application, with the analytic software incorporated therein, may be provided and installed on a plurality of end user devices. Thereafter, the analytic software may work in conjunction with analytic processing logic to assist the developer in obtaining pertinent information related to bugs associated with the application that is being executed on an end user device.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: October 14, 2014
    Assignee: Crashlytics, Inc.
    Inventors: Wayne Chang, Jeffrey H. Seibert, Jr.
  • Patent number: 8863148
    Abstract: A network interface includes a firmware module that generates a first message based on a first print macro call and a memory module that stores the first message. The first message comprises a subset of data indicative of the first print macro call.
    Type: Grant
    Filed: December 19, 2007
    Date of Patent: October 14, 2014
    Assignee: Marvell International Ltd.
    Inventors: Long Chow, James K. Jan, Matthew L. Semersky, Chen Fan, Xiaohua Luo, Frank Huang, Robert Lee
  • Patent number: 8863096
    Abstract: A symbolic execution task is dynamically divided among multiple computing nodes. Each of the multiple computing nodes explores a different portion of a same symbolic execution tree independently of other computing nodes. Workload status updates are received from the multiple computing nodes. A workload status update includes a length of a job queue of a computing node. A list of the multiple computing nodes ordered based on the computing nodes' job queue lengths is generated. A determination is made regarding whether a first computing node in the list is underloaded. A determination is made regarding whether a last computing node in the list is overloaded. Responsive to the first computing node being underloaded and the last computing node being overloaded, a job transfer request is generated that instructs the last computing node to transfer a set of one or more jobs to the first computing node.
    Type: Grant
    Filed: January 6, 2012
    Date of Patent: October 14, 2014
    Assignee: École Polytechnique Fédérale de Lausanne (EPFL)
    Inventors: Stefan Bucur, Cristian Zamfir, George Candea
  • Patent number: 8856745
    Abstract: A system and method can implement compliance tests with annotation based standards using a model library. The model library encapsulates expectation computation logic described in one or more annotation based assertions. A compliance test can obtain an actual value for one or more software properties based on evaluating a source file that contains one or more annotations that is defined by the one or more annotation based assertions, and can determine an expected value for the one or more software properties using the model library. Then, the compliance test can compare the actual value for the one or more software properties with the expected value for the one or more software properties.
    Type: Grant
    Filed: August 1, 2012
    Date of Patent: October 7, 2014
    Assignee: Oracle International Corporation
    Inventor: Haijun Li
  • Patent number: 8856500
    Abstract: A program is obfuscated by reordering its instructions. Original instruction addresses are mapped to target addresses in an irregular way, with position dependent address steps between the addresses of logically successive instructions. Preferably pseudo-random address steps are used, for example with address steps that have mutually opposite sign with equal frequency. The data processing device has an instruction flow control unit that updates instruction addresses according the position dependent address steps. The instruction flow control unit may comprise a circuit that contains secret information, which is not normally accessible from the outside, to control the updates. A lookup table may be used for example, with address steps, successor addresses or mapped address values. In an embodiment the mapping of original instruction addresses to target addresses may be visualized by means of a path (36) along points in an n-dimensional array, where n is greater than one.
    Type: Grant
    Filed: February 2, 2009
    Date of Patent: October 7, 2014
    Assignee: NXP B.V.
    Inventors: Marc Vauclair, Pieter J. Janssens
  • Publication number: 20140298301
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Application
    Filed: June 13, 2014
    Publication date: October 2, 2014
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8850408
    Abstract: To reconstruct a call stack, a range of call addresses is determined. Based on the range of addresses, raw stack data is extracted based on the execution of a computer program. The raw stack data is parsed to reconstruct a call stack (or a series of call stacks). In obtaining the call stack, a depth between a function and a return address is calculated.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: September 30, 2014
    Assignee: Nintendo of America, Inc.
    Inventor: Chad Hinkle
  • Patent number: 8850404
    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. Implicitly created tasks, like set render target, may be visualized by associating those implicitly created tasks with actual coded tasks.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: September 30, 2014
    Assignee: Intel Corporation
    Inventors: Christopher J. Cormack, Nathaniel Duca, Mike Burrows, Serhat A. Tekin
  • Patent number: 8850400
    Abstract: A system and method for providing a regression testing framework for use with enterprise applications, such as Oracle Fusion Applications and Fusion Financials, by rapidly implementing applications according to a customized configuration, and subsequently performing regression tests on an implemented application instance. In accordance with an embodiment, the system comprises a plurality of automated, e.g., Fusion Financials application setups; automation services which can be consumed by setups and regression tests as per requirement; multiple automated regression tests which can be executed by the regression testing framework, to test an implemented instance of the applications; and a central execution controller, which controls the runtime behavior of application setups and regression tests that subscribe to it.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: September 30, 2014
    Assignee: Oracle International Corporation
    Inventors: Anish Shrivastava, Ramesh Nagaraju