Tracing Patents (Class 717/128)
  • Publication number: 20130318502
    Abstract: A remote debugging technique provides anonymity of program variables and selective debugging capability by providing a registration facility by which program variables are registered locally with a debugging module. An external program then communicates with the debugging modules and observes and/or modifies the program variables by specifying either an index or a variable name. The need to publish symbols is thereby averted and only the variables that a developer is interested in observing need be registered.
    Type: Application
    Filed: August 2, 2013
    Publication date: November 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Charles R. Lefurgy
  • Publication number: 20130318500
    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: Application
    Filed: May 25, 2012
    Publication date: November 28, 2013
    Inventors: Johan Eker, Harald Gustafsson, Song Yuan
  • Patent number: 8589698
    Abstract: An approach is provided to receive a request at a first computer system from a second system. The first system generates an encryption key, modifies retrieved source code by inserting the generated encryption key into the source code, and compiles the modified source code into an executable. A hash value of the executable program is calculated and is stored along with the encryption key in a memory area. The executable and the hash value are sent to the second system over a network. The executable is executed and it generates an encrypted result using the hash value and the embedded encryption key. The encrypted result is sent back to the first system where it is authenticated using the stored encryption key and hash value.
    Type: Grant
    Filed: May 15, 2009
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gerald Francis McBrearty, Shawn Patrick Mullen, Jessica Carol Murillo, Johnny Meng-Han Shieh
  • Patent number: 8589890
    Abstract: A system, method, computer program product, and program storage device for storing trace information of a program is disclosed. Upon entering or calling a subroutine, a memory buffer is created. Whenever a nested subroutine is called inside the subroutine, a subordinate memory buffer is created. Upon completion of a subroutine execution, a corresponding memory buffer is deleted. When encountering an event (e.g., an error, a defect, a failure, a warning) during execution, all data in currently existing memory buffers are transferred to a secondary memory storage device (e.g., a disk).
    Type: Grant
    Filed: June 3, 2008
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter J. Eccles, Cameron J. McAllister, Hedley Proctor
  • Patent number: 8589893
    Abstract: In certain embodiments, execution traces for a program definition of an application are accessed. Probability information for components of the program definition is computed based at least in part upon the execution traces. Program definition slices are determined based at least in part upon the probability information. The program definition slices comprises a baseline slice and at least one supplemental slice. The baseline slice is communicated to a client in response to a request for the application. At least one supplemental slice is communicated to the client to allow the patching of the baseline slice with the at least one supplemental slice to recreate at least a portion of the program definition.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: November 19, 2013
    Assignee: Amazon Technologies, Inc.
    Inventor: Nicholas A. Allen
  • Patent number: 8589889
    Abstract: A method and apparatus for detecting errors in an application software of an embedded system are provided. The method of detecting errors in an application software includes determining a development language of the application software and an operating system on which the application software is executed; replacing an error detection syntax inserted in order to examine an error in a predetermined function of the application software, with an error detection syntax according to the result of the determination; and performing exception handling for an error occurring in the function according to the result of the replacement, and logging error information according to the exception handling. According to the method and apparatus, an error can be automatically detected and logged irrespective of a development language and an operating system.
    Type: Grant
    Filed: November 13, 2007
    Date of Patent: November 19, 2013
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Han-cheol Kim, Keun-soo Yim, Seung-won Lee, Jeong-joon Yoo, Jae-don Lee, Young-sam Shin
  • Patent number: 8589887
    Abstract: A remote debugging technique provides anonymity of program variables and selective debugging capability by providing a registration facility by which program variables are registered locally with a debugging module. An external program then communicates with the debugging modules and observes and/or modifies the program variables by specifying either an index or a variable name. The need to publish symbols is thereby averted and only the variables that a developer is interested in observing need be registered.
    Type: Grant
    Filed: October 20, 2010
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventor: Charles R. Lefurgy
  • Patent number: 8589738
    Abstract: A data processing system has a trace message filtering circuit. A method includes: receiving a current page address corresponding to a current instruction in a sequence of instructions; determining that the current page address is for a different page of memory than a previous page address corresponding to a previous instruction in the sequence of instructions; comparing the current page address with a plurality of page addresses stored in a message filtering circuit; and when the current page address is determined to be different than any of the plurality of page addresses, storing the current page address in the message filtering circuit.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: November 19, 2013
    Assignee: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Richard G. Collins
  • Patent number: 8589891
    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: August 25, 2011
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Vishal Chittranjan Aslot, Brian W. Hart, Anil Kalavakolanu, Evelyn Tingmay Yeung
  • Patent number: 8589459
    Abstract: The present invention provides a security and privacy enhanced method for geolocation. The system works by creating a space called the N?4Tk space on top of the Internet by locating N geographically dispersed servers in the Internet and computing as the coordinate for any computing device on the Internet, its distance to the N servers. The distance is computed as the 4Tk distance which is the time taken by a message of size k to travel between two points at a particular time of day. The system can also be used iteratively where each iteration uses a different set of Slaves in order to close in on the user with finer granularity. Interesting benefits of the system include the difficulty for an attacker to misrepresent the location, and also while the system can hone in on a locale for the user it does not violate the user's privacy.
    Type: Grant
    Filed: November 5, 2012
    Date of Patent: November 19, 2013
    Inventor: Ravi Ganesan
  • Publication number: 20130305227
    Abstract: Method 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: Application
    Filed: February 19, 2013
    Publication date: November 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Branson, Ryan K. Cradick, John M. Santosuosso, Brandon W. Schulz
  • Publication number: 20130305226
    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: Application
    Filed: May 10, 2012
    Publication date: November 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James E. Carey, John M. Santosuosso
  • Publication number: 20130305225
    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: Application
    Filed: May 9, 2012
    Publication date: November 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Branson, Ryan K. Cradick, John M. Santosuosso, Brandon W. Schulz
  • Patent number: 8584097
    Abstract: A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed.
    Type: Grant
    Filed: February 13, 2012
    Date of Patent: November 12, 2013
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8584096
    Abstract: Systems and methods that facilitate electronic audit recording and tracking of interactions in an industrial control system via employing a differentiation engine that supplies an object-oriented presentation of an audit trail—and further present a view of a desired segment associated with a PLC program (e.g., a particular run of the PLC program), for an object that an audit is requested for. A user (e.g., a customer of the industrial process) can initially identify an object and subsequently view typically all changes to such identified object. Accordingly, a general requirement for checking every version to determine a change to the object is mitigated.
    Type: Grant
    Filed: October 17, 2011
    Date of Patent: November 12, 2013
    Assignee: Rockwell Automation Technologies, Inc.
    Inventors: Werner Schnabele, Günter Friedrich Schunck
  • Patent number: 8584095
    Abstract: Testing of a computer program product by selecting a test node at which a snapshot is to be acquired to enable the completion of tests along test scenarios in the shortest time is provided. Information on a test scenario, information on a test node to which a test node makes a next transition, and other information are stored. For each test node, it is determined whether a branch path exists, and for each of these test nodes, an estimated execution time required to complete a test when a snapshot is acquired at a test node is calculated, an execution time required to complete a test without acquiring any snapshot is calculated, and a difference between the execution time and the estimated execution time is calculated as a reduced time. A test node with the longest reduced time is selected, and information for identifying the selected test node is output.
    Type: Grant
    Filed: November 12, 2010
    Date of Patent: November 12, 2013
    Assignee: International Business Machines Corporation
    Inventors: Sakura Bhandari, Yuriko Nishikawa, Kaoru Shinkawa, Yoshinori Tahara
  • Patent number: 8584083
    Abstract: A software application recreation in a computing environment is provided. One embodiment involves analyzing program execution trace data of a software application, and using the analysis results in recreating an executable version of the software application from data traced at significant points during the software application execution. Recreating an executable version of the software application involves creating white space code to simulate the software application execution timing by replacing business logic code of the software application with white space code in the recreated executable version. The recreated executable version of the software application programmatically behaves essentially similarly to the software application.
    Type: Grant
    Filed: April 12, 2012
    Date of Patent: November 12, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul Kettley, Ian J. Mitchell
  • Patent number: 8578340
    Abstract: A computer program execution record and replay system providing recorded execution event breakpoints is described. In one embodiment, for example, in the record and replay system, a method for providing recorded execution event breakpoints, the method comprising: recording information about one or more execution events that occur during a recorded execution of a computer program; during a replay execution of the computer program in which a particular execution event of the one or more execution events is faithfully reproduced, determining whether a breakpoint is to be set in the replay execution of the computer program based on the recorded information about the particular execution event; and if the breakpoint is to be set, then setting a breakpoint in the replay execution of the computer program such that the replay execution breaks at a point corresponding to the faithful reproduction of the particular execution event.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: November 5, 2013
    Assignee: CA, Inc.
    Inventors: Jeffrey Daudel, Arpad Jakab, Suman Cherukuri, Jonathan Lindo
  • Patent number: 8578336
    Abstract: A user interface for designing tests to be run against a piece of software. The user interface provides an environment in which test specifications including scenarios, business flow modules, flow lists, and steps and actions may be presented, created and modified. The user interface may be dynamically updated with data from a repository to update the presented information. Changes to code associated with the scenarios, business flow modules, flow lists, and steps and actions may be dynamically communicated back to a repository to update the code without a need to repackage an application associated with the code. The test specifications may be specified in a generic format, such as an eXtensible Markup Language (XML) format that meets a schema.
    Type: Grant
    Filed: November 3, 2008
    Date of Patent: November 5, 2013
    Assignee: United Services Automobile Association (USAA)
    Inventors: Andre Wiradarma, Nolberto Farias, Jr., John Ensminger
  • Patent number: 8578339
    Abstract: A system and method for automatically analyzing virtual machine bytecode of a software application and adding additional bytecode operable to determine information regarding database access performed by the software application are described. According to one embodiment of the method, program code of a software application may be received, wherein the program code includes bytecode for a virtual machine. The bytecode may be automatically analyzed to detect access to a database. The method may operate to automatically add additional bytecode to the bytecode of the software application, where the added bytecode is operable to determine information regarding the access to the database.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: November 5, 2013
    Assignee: Symantec Corporation
    Inventors: Brian Day, Daryl Hoyt
  • Publication number: 20130290936
    Abstract: A system for automatically instrumenting and tracing an application program and related software components achieves a correlated tracing of the program execution. It includes tracing of endpoints that are the set of functions in the program execution path that the developers are interested. The tracing endpoints and related events become the total set of functions to be traced in the program (called instrument points). This invention automatically analyzes the program and generates such instrumentation points to enable correlated tracing. The generated set of instrumentation points addresses common questions that developers ask when they use monitoring tools.
    Type: Application
    Filed: April 30, 2013
    Publication date: October 31, 2013
    Applicant: NEC Laboratories America, Inc.
    Inventors: Junghwan Rhee, Hui Zhang, Nipun Arora, Guofei Jiang, Kenji Yoshihira, Myoungku Song
  • Patent number: 8572583
    Abstract: There are provided a method and system for testing software for an industrial machine with continuous test values reflecting actual environmental factors, using a simulator before the software for the industrial machine is embedded into an actual industrial machine. A method for testing software for an industrial machine, the method comprising the steps of: coding a program for a diagram through which the industrial machine is driven; compiling the program into an instruction with which the industrial machine is driven; downloading the compiled program onto a simulator for implementing a programming interface provided by the industrial machine; executing the compiled program in the simulator: generating a first data for testing the compiled program: transmitting the first test data to the simulator having the downloaded program from a testing tool; and outputting a result data obtained after executing the program having the transmitted first test data and then transmitting the result data to the testing tool.
    Type: Grant
    Filed: November 4, 2009
    Date of Patent: October 29, 2013
    Assignees: Suresoft Technologies, Inc., LS Industrial Systems Co., Ltd.
    Inventors: Hyunseop Bae, Kyung Hwa Choi, Seokjoo Choi, Seong Won Park, Seung Joon Lee
  • Patent number: 8572581
    Abstract: Methods and systems are disclosed for measuring performance event rates at a computer and reporting the performance event rates using timelines. A particular method tracks, for a time period, the occurrences of a particular event at a computer. Event rates corresponding to different time segments within the time period are calculated, and the time segments are assigned colors based on their associated event rates. The event rates are used to display a colored timeline for the time period, including displaying a colored timeline portion for each time segment in its associated color.
    Type: Grant
    Filed: March 26, 2009
    Date of Patent: October 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Hazim Shafi, Khaled S. Sedky
  • Publication number: 20130283241
    Abstract: Periodicity similarity between two different tracer objectives may be used to identify additional input parameters to sample. The tracer objectives may be individual portions of a large tracer operation, and each of the tracer objectives may have separate set of input objects for which data may be collected. After collecting data for a tracer objective, other tracer objectives with similar periodicities may be identified. The input objects from the other tracer objectives may be added to a tracer objective and the tracer objective may be executed to determine a statistical significance of the newly added objective. An iterative process may traverse multiple input objects until exhausting possible input objects and a statistically significant set of input objects are identified.
    Type: Application
    Filed: February 12, 2013
    Publication date: October 24, 2013
    Inventors: Russell S. Krajec, Ying Li
  • Publication number: 20130283240
    Abstract: A tracing system may divide trace objectives across multiple instances of an application, then deploy the objectives to be traced. The results of the various objectives may be aggregated into a detailed tracing representation of the application. The trace objectives may define specific functions, processes, memory objects, events, input parameters, or other subsets of tracing data that may be collected. The objectives may be deployed on separate instances of an application that may be running on different devices. In some cases, the objectives may be deployed at different time intervals. The trace objectives may be lightweight, relatively non-intrusive tracing workloads that, when results are aggregated, may provide a holistic view of an application's performance.
    Type: Application
    Filed: February 12, 2013
    Publication date: October 24, 2013
    Applicant: Concurix Corporation
    Inventors: Russell S. Krajec, Ying Li
  • Publication number: 20130283242
    Abstract: An automated tracing system may create wrapping functions for each function in an application, including callback functions that may be passed as arguments to or from a given function. The wrapping function may include tracing data which may be used to generate a topology of the application, as well as other tracing data which may be used for performance measurements. In many cases, the wrapping function may be at least partially isomorphic with respect to the inner function being wrapped.
    Type: Application
    Filed: April 20, 2013
    Publication date: October 24, 2013
    Inventor: Alexander G. Gounares
  • Patent number: 8566797
    Abstract: A heuristic backtracer is described. In one embodiment, a scanner scans a stack of an application for a pointer to a word of a machine code of the application. A preceding byte locator identifies one or more bytes immediately preceding the pointed-to machine code. A parser parses the one or more bytes immediately preceding the pointed-to machine code of the machine code for a call instruction. A return address identifier determines the pointed-to as a return address when the one or more bytes constitute the call instruction.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: October 22, 2013
    Assignee: Red Hat, Inc.
    Inventor: Soren Sandmann Pedersen
  • Patent number: 8566795
    Abstract: A computer implemented method, apparatus, and computer program product for sampling call stack information. A set of methods and a set of criteria are received. Responsive to detecting an event associated with a method in the set of methods, a determination is made as to whether the method has met a set of criteria comprising at least one of a time based metric and a hardware performance monitor counter metric. A call stack is retrieved for the method if the method has met the set of criteria. The retrieved call stack is saved in a tree.
    Type: Grant
    Filed: July 15, 2008
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 8566796
    Abstract: Systems and methods are provided for enabling interaction between a user and a software probe inserted into application code for monitoring and testing application performance. Communications are initialized with the software probe and a user interface is provided to the user. Command data is received from the user through the interface and forwarded to the software probe. In response, data communications are received from the software probe.
    Type: Grant
    Filed: April 4, 2008
    Date of Patent: October 22, 2013
    Assignee: SAS Institute Inc.
    Inventor: Claire S. Cates
  • Patent number: 8566798
    Abstract: According to a sample embodiment, a method is provided for capturing context information about an event. A data collector is created comprising instructions to collect specific context data in response to specific conditions in a call stack, and the data collector is registered with a first failure data capture application. In a sample embodiment the first failure data capture application receives a registration for a context data collector. Then, in response to being called, the first failure data capture application looks for at least one of a class and a method defined in the context data collection registration that matches conditions of the call stack. In response to said call stack conditions being met, the first failure data capture application calls the data collector to collect context data from the call stack, receives context data from the context data collector; and presents the context data.
    Type: Grant
    Filed: October 15, 2008
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Stefan Georg Derdak, Michael Joseph Casile, Andrew James McCright, Sinee Paungam
  • Patent number: 8561032
    Abstract: A computer method involving receiving by an integrated development environment component an output file from a thread tracking component, generating a Gantt chart of a thread from the output file to visualize a life of the thread, and displaying the Gantt chart to a requesting user.
    Type: Grant
    Filed: November 4, 2009
    Date of Patent: October 15, 2013
    Assignee: Red Hat, Inc.
    Inventor: Elliott Baron
  • Patent number: 8561025
    Abstract: Flow and module level debugging in a system. An applicable filter-set comprising at least one user defined flow and at least one module corresponding to the at least one user defined flow are identified. An incoming message flow is then tagged with information of the applicable filter-set. Further, the at least one module is detected for debugging corresponding to the user defined flow based on the tagged information of the incoming message flow. Log statements are then generated for the at least one module detected for debugging.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: October 15, 2013
    Assignee: Apigee Corporation
    Inventors: Ashutosh Bisht, Abhijit Chaudhary
  • Patent number: 8561028
    Abstract: A computer can be configured to execute event-driven applications by programming the computer with software that provides an event-driven execution environment including an event dispatcher. The event dispatcher can be used to relay events by receiving and dispatching the events from software components of an event-driven application during execution thereof. While the event-driven application is executing, the event dispatcher can be monitored in order to generate and store a log or other record(s) identifying one or more events that occur during execution. The log can be stored in a computer-readable medium accessible by the computing apparatus and used to provide information about at least some of the one or more events. As an example, the log data may be used to generate a timeline showing the relative order of events and the components that generated and listened to the events.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: October 15, 2013
    Assignee: Adobe Systems Incorporated
    Inventor: David Zuckerman
  • Patent number: 8561033
    Abstract: A method for selectively generating trace data is disclosed. Such a method includes executing a first module on a processor. The processor is operably coupled to a memory storing the first module and one or more branch modules. The method further includes detecting the execution of an instruction of the first module to execute a branch module. In response to detecting execution of the instruction, traces of branch modules subsequently executed by the processor are generated. Upon detecting a return of execution by the processor to the first module, the generation of traces is terminated and a trace report is generated. A corresponding apparatus and computer program product are also disclosed herein.
    Type: Grant
    Filed: July 30, 2010
    Date of Patent: October 15, 2013
    Assignee: International Business Machines Corporation
    Inventors: Herman Aranguren, David Charles Reed, Max Douglas Smith, David Bruce LeGendre
  • Publication number: 20130268919
    Abstract: The invention relates to a method for detecting memory leaks produced by a program running on a computer, wherein during a program run, for each allocation of a memory region at least one information item concerning the performed allocation is entered in an allocation list and a check is made as to whether the allocation list contains a stored reference pattern of information that is typical for one or more memory leaks, and after a stored reference pattern is found the program run is paused, or a memory leak thus detected is associated with the region of the running program whose processing resulted in the most recent entry in the allocation list. The invention further relates to a computer programming product which carries out the method when the computer program is executed on a computer.
    Type: Application
    Filed: June 6, 2013
    Publication date: October 10, 2013
    Inventor: Gunther Zagatta
  • Publication number: 20130268918
    Abstract: Given a program P, a specification S, and an abstraction function ?, verification determines whether P satisfies the specification S under the abstraction ?. If not, a trace T that violate the specification is selected, and either the abstraction ? is refined or a constraint that avoids the trace T is computed and added to a set of constraints. The set of constraints are used to modify the program P.
    Type: Application
    Filed: June 4, 2013
    Publication date: October 10, 2013
    Inventors: Martin Vechev, Eran Yahav, Greta Yorsh
  • Patent number: 8555255
    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: March 2, 2010
    Date of Patent: October 8, 2013
    Assignee: International Business Machines Corporation
    Inventors: Rei Odaira, Kazunori Ogata
  • Patent number: 8555257
    Abstract: A host having a network interface communicating with a plurality of users and a plurality of target devices, a workbench tool including software development tools, the plurality of users having access to the workbench, at least one user creating a first sensorpoint module using the workbench and a database storing the first sensorpoint module, the host loading the first sensorpoint module onto at least one of the target devices.
    Type: Grant
    Filed: November 20, 2006
    Date of Patent: October 8, 2013
    Assignee: Wind River Systems, Inc.
    Inventors: Rajesh Balasubramanian, Aron Sogor, Ka Kay Achacoso, Vijay Natarajan
  • Patent number: 8555254
    Abstract: Item values associated with an execution state of a program executed on a computer are collected in detail while suppressing the computer load. When reducing the interval for collecting values of one item to be monitored, the interval for collecting values of items other than that item is increased. If the computer load is increased, an interval of at least one item is increased. Moreover, there is provided an upper limit for the number of items whose intervals can be reduced simultaneously. Moreover, when varying the interval of the item according to the values of the respective items, the interval variation range is varied according to the item state and the computer load.
    Type: Grant
    Filed: September 15, 2011
    Date of Patent: October 8, 2013
    Assignee: Hitachi Ltd.
    Inventors: Hidetaka Sasaki, Motoaki Hirabayashi
  • Patent number: 8555258
    Abstract: A system, method, and computer program for analyzing code execution and software performance characteristics are disclosed. Samples of code during run-time or from crash logs can be displayed as both a top-down tree of calls from a particular function and a bottom-up tree of calls to the particular function. Data mining techniques, including filtering and focusing, remove code that is not of interest and display code that is more relevant to performance analysis. In particular, functions contained in libraries such as system libraries can be stripped from view. The cost associated with an excluded function can be propagated to a calling function, in either the top-down or bottom-up tree.
    Type: Grant
    Filed: November 20, 2009
    Date of Patent: October 8, 2013
    Assignee: Apple Inc.
    Inventors: Christina E. Warren, David V. Payne, Darin Adler, Maciej J. Stachowiak, Bertrand P. Serlet, Christopher A. Wolf
  • Publication number: 20130263093
    Abstract: In accordance with embodiments disclosed herein, there are provided methods, systems, mechanisms, techniques, and apparatuses for implementing optional logging of debug activities in a real time instruction tracing log. For example, in one embodiment, such means may include an integrated circuit having means for initiating instruction tracing for instructions of a traced application, mode, or code region, as the instructions are executed by the integrated circuit; means for generating a plurality of packets to a debug log describing the instruction tracing; means for initiating an alternative mode of execution within the integrated circuit; and means for suppressing indication of entering the alternative mode of execution. Additional and alternative means may be implemented for selectively causing an integrated circuit to operate in accordance with an invisible trace mode or a visible trace mode upon transition to the alternative mode of execution.
    Type: Application
    Filed: December 30, 2011
    Publication date: October 3, 2013
    Inventors: Jason W. Brandt, Peter Lachner, Huy V. Nguyen, Jonathan J. Tyler
  • Patent number: 8549491
    Abstract: Provided is to an apparatus for application testing of an embedded system which can cross-develop an application program installed in the embedded system regardless of the type of a target system. A virtual environment for testing the application program adopted in the target system is constructed on the basis of information inputted through a user interface and the application program is tested by configuring a virtual target system in the constructed virtual environment. According to the present invention, the application program adopted in the target system can be developed and tested without constructing a cross-development environment for each target system in an environment in which various kinds of embedded systems are developed.
    Type: Grant
    Filed: November 18, 2009
    Date of Patent: October 1, 2013
    Assignee: Electronics and Telecommunications Research Institute
    Inventors: Ingeol Chun, Taeho Kim, Chaedeok Lim, Seungmin Park
  • Patent number: 8549486
    Abstract: An exemplary method includes providing software for testing; during execution of the software, performing a symbolic execution of the software to produce path constraints; injecting issue constraints into the software where each issue constraint comprises a coded formula; solving the constraints using a constraint solver; based at least in part on the solving, generating input for testing the software; and testing the software using the generated input to check for violations of the injected issue constraints. Such a method can actively check properties of the software. Checking can be performed on a path for a given input using a constraint solver where, if the check fails for the given input, the constraint solver can also generate an alternative input for further testing of the software. Various exemplary methods, devices, systems, etc., are disclosed.
    Type: Grant
    Filed: April 21, 2008
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Patrice Godefroid, Michael Y. Levin, David Molnar
  • Patent number: 8549487
    Abstract: Detection of redundant or duplicate method calls in a running program is provided. One or more methods can be selectively called when a program is running. Specified data is collected each time that a call to a given one of the methods 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. The collected data includes an element uniquely identifying each of the particular argument values. The collected data is stored at a selected location, and a call threshold is selected for the given method, wherein the call threshold comprises a specified number of occurrences of the given call to the given method. The collected data is 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: October 29, 2008
    Date of Patent: October 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Mark Andrew Alkins, Denny Pichardo, Martin Joseph Clayton Presler-Marshall, Hunter K. Presnall
  • Patent number: 8543987
    Abstract: Disclosed is a method to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.
    Type: Grant
    Filed: March 1, 2012
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
  • Patent number: 8543991
    Abstract: Idle processor cores can be used to compile methods that are likely to be executed by a program based on profile data that is captured during one or more previous executions. Methods that are determined by the profile data to be likely to be used can be compiled eagerly on one or more background threads. Transparency can be achieved by ensuring that module load order is not altered because of the background threads by recording the state of loaded modules after each profiled compilation, persisting that data, and waiting to eagerly compile a method until the method to be compiled and all its dependencies has been loaded by the executing program.
    Type: Grant
    Filed: March 10, 2011
    Date of Patent: September 24, 2013
    Assignee: Microsoft Corporation
    Inventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
  • Patent number: 8543988
    Abstract: A distributed application system has a plurality of applications running on a plurality of servers arranged hierarchically and, when receiving a request telegraphic message from a client, executes processes while transferring a relay code between applications in order. A trace condition embedding unit embeds a trace collection condition into a relay code and transfers it to the next application. Trace collection units decide whether trace collection is to be made or not, and perform a process. The trace collection condition includes an indication of a range of tracing for each application and a record of applications which has passed through. The trace condition embedding unit further includes intermittent switch information which indicates a ratio of trace collection to reception times of the request telegraphic message.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: September 24, 2013
    Assignee: Fujitsu Limited
    Inventors: Kenichi Shimazaki, Koji Ishibashi, Seiya Shindo, Shinji Watanabe, Koutaro Tsuro
  • Patent number: 8539458
    Abstract: The present invention extends to methods, systems, and computer program products for changing addressing mode during code generation. Generally, embodiments of the invention use a compiler transformation to transform lower level code from one address alignment to another address alignment. The transformation can be based upon assumptions of a source programming language. Based on the assumptions, the transformation can eliminate arithmetic operations that compensate for different addressing alignment, resulting in more efficient code. Some particular embodiments use a compiler transformation to transform an Intermediate Representation (“IR”) from one-byte addressing alignment into multi-byte (e.g., four-byte) addressing alignment.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: September 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Weirong Zhu, Yosseff Levanoni
  • Patent number: 8539447
    Abstract: A validation tool providing real-time validation of interactive content applications includes a static analysis engine that extrapolates the timeline of an application and the application's behavior over that timeline. The static analysis engine watches various types of data associated with the application's markup document and works through an editor to inform the user if the application has exceeded defined limits as the application is being built. The validation tool is further configured with a dynamic simulator that is arranged as a state machine that shares state information with the static analysis engine to enable the validation tool to display useful information such as pixel buffer usage at a given time code. The validation tool is further configured to provide a real-time application preview with which the user may interact to immediately evaluate cause and effect of any changes that are made in the application code using the editor.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: September 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Bryan Kilian, Andrew Clinick
  • Patent number: 8539453
    Abstract: In an embodiment, a kernel performs autonomic input/output tracing and performance tuning. A first table is provided in a device driver framework and a second table in a kernel of a computer. An input/output device monitoring tool is provided in the device driver framework. A plurality of instructions in the kernel compares each value in the first table with each value in the second table. Responsive to a match of a value in the first table and a value in the second table, the kernel automatically runs a command line to perform a system trace, a component trace, or a tuning task. The first table is populated with a plurality of values calculated from a plurality of data in a plurality of device memories and in the controller memory and the second table is populated in accordance with a second plurality of inputs to the command line interface.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Diane G. Flemming, Greg R. Mewhinney, Brian C. Twichell, David B. Whitworth