Including Instrumentation And Profiling Patents (Class 717/130)
  • Patent number: 10318332
    Abstract: Embodiments relate to a virtualization layer capturing replayable execution traces of VMs managed by the virtualization layer. Execution tracing can be performed on any unit of execution managed by the virtualization layer, e.g., threads, processes, virtual processors, individual VMs, multiple VMs, etc. Traced execution units may be executing in parallel. Execution tracing involves capturing to a buffer: executed instructions, memory inputted to instructions, memory outputted by instructions, registers touched by instructions, and ordering markers. Trace data can be captured in chunks, where causality is preserved and ordering is preserved between chunks but not necessarily within chunks. The chunks may be delineated by inserting monotonically increasing markers between context switches, thus relatively ordering the chunks. Determinism may be partially provided by identifying non-deterministic events. VM tracing may be transparent to guest software, which need not be instrumented.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: June 11, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Jordi Mola
  • Patent number: 10318259
    Abstract: An apparatus for automatically converting a control flow program into a data flow program comprises a non-transitory machine-readable medium and a translator stored in the machine-readable medium. The translator, when executed by a data processing system, enables the data processing system to (a) automatically generate a control dependency graph for a control flow program, (b) automatically generate a data flow graph based at least in part on the control dependency graph, and (c) automatically generate a data flow program based at least in part on the data flow graph. In one embodiment or scenario, the translator may also automatically insert a switch instruction into the data flow program, in response to a determination that a variable of the control flow program is defined in one control dependency region and used in a different control dependency region. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: June 11, 2019
    Assignee: Intel Corporation
    Inventor: Yongzhi Zhang
  • Patent number: 10282277
    Abstract: Techniques are disclosed for identifying a minimal operator subsets in a distributed streams application for debugging purposes. A debugging tool receives a selection of operators from a plurality of operators included in a distributed application. The distributed application executes the plurality of operators in a runtime environment. The debugging tool identifies, based on the selected operators, a subset of the plurality of operators to execute in a debugging environment. The subset includes at least the selected operators. The debugging tool executes the subset of the plurality of operators in the debugging environment.
    Type: Grant
    Filed: December 1, 2015
    Date of Patent: May 7, 2019
    Assignee: International Business Machines Corporation
    Inventors: Bin Cao, Jessica R. Eidem, Brian R. Muras, Jingdong Sun
  • Patent number: 10282268
    Abstract: In one embodiment, a logging process initiates a trace of an execution flow across a plurality of processes, and creates a log context for the trace, the log context having a universally unique identifier (UUID) and an indication that the trace is to be performed as the plurality of processes are executed during the execution flow. The logging process manages passage of the log context across the plurality of processes during the execution flow, and gathers log entries from the plurality of processes based on the UUID for the trace, where the log entries were created based on the indication being within the log context. As such, the logging process may stitch the log entries into a flow execution log for the trace of the execution flow.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: May 7, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Zachariah Cherian, Pratap Pereira
  • Patent number: 10268514
    Abstract: Techniques for acquiring performance analysis metrics for computer-implemented functions are described herein. A computer-implemented function is instantiated on a computer system. A monitoring agent running on the computer system monitors outbound calls from the computer-implemented function and, when an outbound function call is intercepted, the agent calculates a performance metric for the outbound function. An aggregated set of performance metrics is produced, and that aggregated set of performance metrics is presented for further analysis.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: April 23, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Nitin Kesarwani
  • Patent number: 10248444
    Abstract: A method for allocating virtual machines (VMs) to run within a non-uniform memory access (NUMA) system includes a first processing node and a second processing node. A request is received at the first processing node for additional capacity for at least one of (a) establishing an additional VM and (b) increasing processing resources to an existing VM on the first processing node. In response to receiving the request, a migration manager identifies whether the first processing node has the additional capacity requested. In response to identifying that the first processing node does not have the additional capacity requested, at least one VM is selected from an ordered array of the multiple VMs executing on the first processing node. The selected VM has low processor and memory usage relative to the other VMs. The selected VM is migrated from the first processing node to the second processing node for execution.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: April 2, 2019
    Assignee: Dell Products, L.P.
    Inventors: Kiran Kumar Devarapalli, Krishnaprasad K, Shiva Prasad Katta
  • Patent number: 10241892
    Abstract: Embodiments include methods, systems, and computer program products for using static analysis to issue complaints. Aspects include generating, using a processing unit, a first complaint during static analysis of program code, wherein the first complaint corresponds to a program error. Aspects also include generating, using the processing unit, a second complaint when the first complaint is not encountered during subsequent static analysis of the program code. Aspects further include outputting, using the processing unit, the second complaint to a non-transitory computer readable medium.
    Type: Grant
    Filed: December 2, 2016
    Date of Patent: March 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael T. Strosaker
  • Patent number: 10229037
    Abstract: In various embodiments, a method, system, and computer program product for injecting error code include logic and/or program instructions configured to determine, by a local processor, critical points in executing code of software under test on a remote system, build, by the local processor, a testcase to invoke the software under test on the remote system, determine, by the local processor, an appropriate response action for each critical point based on an error encountered at each critical point as reported by a remote processor of the remote system, cause, by the local processor, the remote processor to inject a critical point segment into the executing code at a corresponding critical point, and receive, by the local processor, a unique identifier of each critical point segment output by the remote processor in response to injecting the critical point segment into the executing code.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Gerard M. Dearing, Terri A. Menendez
  • Patent number: 10203970
    Abstract: A system implements code trampolining techniques by generating custom trampoline functions, compiling the functions, and executing the compiled functions directly from a library when the corresponding native function is called. The native functions may be binary functions, such as functions in C++ code, or other languages. A code generator may read a set of functions to be implemented and generate code, such as binary code, for the destination function. In doing so, the code generator may generate code which matches the source function signature. The generated code may then be compiled into a shared library which is loaded by the process being instrumented. When the library is initiated upon subsequent calls for the native function, the trampoline mechanisms will be set up between the source function and the generated destination function to operate seamlessly with matching signatures.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: February 12, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: David Roth, Sanjay Nagaraj, Ting Liang, Pankaj Kumar
  • Patent number: 10152458
    Abstract: Described are techniques for determining long-term effects of an experimental change to a user experience after the end of the experiment. A control state and a treatment state of a statistical hypothesis experiment may be assigned to first and second client devices, respectively, during an experiment time period. Subsequent to the end of the experiment, presentation of the control state may be discontinued. Result data corresponding to the treatment state may be determined during the experiment time period and for a length of time subsequent to the experiment time period. Result data corresponding to the control state may be determined during the experiment time period, and for a length of time prior to assignment of the control state to the first client device.
    Type: Grant
    Filed: March 18, 2015
    Date of Patent: December 11, 2018
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Serguei B. Stepaniants, Kyle Leon Battisti, Rui Chen, Michael Luis Collado, Kevin Donald Kelly, Sebastian Kohlmeier, Kevin McAlister, Daniel Parshall
  • Patent number: 10146530
    Abstract: One embodiment provides a method, including: receiving a request to merge at least one code branch with a first code branch, wherein the at least one code branch and the first code branch comprise different versions of software code; and simulating the merge via: identifying the differences between the at least one code branch and the first code branch; generating a differences list comprising a list of (i) added code snippets, (ii) deleted code snippets, and (iii) changed code snippets, wherein code snippets are clustered in the differences list by difference chunks comprising connected code snippets; and building a relationship graph comprising a plurality of nodes and a plurality of edges, wherein each of the plurality of nodes represent a difference chunk and wherein each of the plurality of edges comprise a relationship between two of the plurality of nodes; each of the plurality of edges comprise a cost vector.
    Type: Grant
    Filed: July 12, 2017
    Date of Patent: December 4, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nitendra Rajput, Padmanabha Venkatagiri Seshadri
  • Patent number: 10127031
    Abstract: A communication apparatus includes a receiver configured to receive metadata, the metadata including information associated with update data capable of being executed after the receiver has received the metadata, and a determination part configured to determine whether an update of the update data is executable in accordance with the metadata. When the determination part has determined that the update is executable, the update is executed.
    Type: Grant
    Filed: November 7, 2014
    Date of Patent: November 13, 2018
    Assignee: RICOH COMPANY, LTD.
    Inventor: Shigeru Nakamura
  • Patent number: 10120941
    Abstract: Techniques are disclosed for allowing users to access data libraries associated with multiple, isolated runtime environments (RTEs). A web query application receives a query and determines an RTE to execute the query against. The web query application determines whether a current RTE matches the determined RTE. If the web query application determines that the current RTE does not match the determined RTE, the web query application configures a server computing system to access the determined RTE and execute the query against data libraries associated with the determined RTE. If the web query application determines that the current RTE matches the determined RTE, the web query application executes the query against the data libraries associated with the current RTE.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: November 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Robert D. Andrews, Robert J. Bestgen, Gene R. Cobb, Kathryn R. Steinbrink
  • Patent number: 10114979
    Abstract: Particular embodiments establish static redirection of a function that is a member of a class to an alternate implementation of the function. A software tool executing on a computer server receives an executable file for an application and a location for an alternate implementation of the function. The function may be written in Objective C. The software tool can be used to locate a structure for the function by traversing serialized metadata in the executable file. The software tool can then be used to modify the metadata in the executable file by updating the value of a selector indicating the location of a current implementation of the function to indicate a location of the alternate implementation. The selector may be included in a element of the structure for the class method. Finally, the application may provide the modified executable file for installation on client devices.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: October 30, 2018
    Assignee: VMware, Inc.
    Inventor: Manish Jawa
  • Patent number: 10095599
    Abstract: This disclosure provides a computer-implemented method for monitoring an application at runtime. The method comprises building up a calling relationship graph for at least one type of system method called at runtime, by checking a stack trace generated when the application is running. An application method of the application that directly or indirectly calls this type of system method is represented as a node in the calling relationship graph. The method further comprises determining one or more target nodes in the calling relationship graph by analyzing the structure of the calling relationship graph. The method further comprises inserting callback methods into application method(s) of the application corresponding to the one or more target nodes only in a calling side. The method further comprises monitoring the application at runtime by using said callback methods.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: October 9, 2018
    Assignee: International Business Machines Corporation
    Inventors: Yang Che, Xiao Ming Hu, Xin Peng Liu, Ren Fu Ma, Li Jing Mu, Guoqing Wang, Jun Yu Zhang
  • Patent number: 10089211
    Abstract: An information processing apparatus comprises: an insertion unit that inserts, into a class file that corresponds to one application, a first bytecode for tallying information about a resource used by an object generated by execution of a bytecode that is included in the class file; and a tallying unit that, if an application generates an object, tallies information about a resource used by the object generated by the application, wherein the one application that has executed the first bytecode is identified by execution of the first bytecode, the one application thus identified and information about a resource used by a generated object are registered to a storage unit in association with each other, and the tallying unit tallies a resource usage amount for each application based on the information registered to the storage unit.
    Type: Grant
    Filed: October 6, 2015
    Date of Patent: October 2, 2018
    Assignee: CANON KABUSHIKI KAISHA
    Inventor: Kiwamu Hasegawa
  • Patent number: 10067862
    Abstract: Asynchronous operations associated with a request such as synchronous threads, runnable elements, callable elements, and other invokable objects are tracked to determine the metrics about the request and operations. The present technology tracks the start and end of each asynchronous operation and maintains a counter which tracks the currently executing asynchronous operations. By monitoring the request, the start and end of each asynchronous operation associated with the request, and the number of asynchronous operations currently executing, the present technology may identify the end of a request by identifying when the last asynchronous operation associated with the request ends. In some instances, the present technology identifies the end of a request when a counter which tracks the number of asynchronous operations executing reaches a value of zero after the first asynchronous operation has already begun.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: September 4, 2018
    Assignee: Cisco Technology, Inc.
    Inventors: Suraj Puvvada, Ryan Ericson
  • Patent number: 10042735
    Abstract: For each of a plurality of wrapper logic components, a metric is determined from content of reports received from user electronic devices that characterizes performance of the wrapper logic component when executed by the user electronic devices to monitor a feature of an application during execution of the application by the user electronic devices. A set of the wrapper logic components is selected that excludes from the set any of the wrapper logic components having performance characterized by the metrics that does not satisfy a first defined rule. The set of wrapper logic components and the application are combined to form a modified application with the wrapper logic components of the set configured to monitor features of the modified application when executed by user electronic devices.
    Type: Grant
    Filed: July 10, 2015
    Date of Patent: August 7, 2018
    Assignee: CA, INC.
    Inventors: Vikrant Nandakumar, Naveen Harry Michael, Hemanth Kumar Pinninti
  • Patent number: 10025504
    Abstract: According to one embodiment, an information processing method including: detecting by a time information acquiring unit a start and an end of an access of a memory access unit to a target memory, the access of the memory access unit being due to instructions of an instruction issuer, and acquiring by the time information acquiring unit a memory access time being a time from the start of the access till the end of the access; calculating by a computation amount acquiring unit, based on the instructions of the instruction issuer, a computation amount of a computing unit from the start of the access till the end of the access; and evaluating by an evaluation unit, based on the memory access time and the computation amount, computing performance of the computing unit from the start of the access till the end of the access.
    Type: Grant
    Filed: February 3, 2016
    Date of Patent: July 17, 2018
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Susumu Takeda, Shinobu Fujita
  • Patent number: 10025688
    Abstract: Comprehensive techniques identify data leaks in software applications using Asset Flow Analysis (AFA) to determine whether critical data leaves a system through an exit point such that the data is no longer protected by mechanisms of the system. A novel data extrusion mechanism makes use of a relevant subset of all the possible data paths detected by AFA using a knowledge base of critical business functions and critical database content. The system checks if any code performs read access to critical business data and subsequently transfers this data beyond the control limits of the target system. The knowledge base can be extended by configuring which database content is to be regarded as critical in any given organization. The approach is particularly valuable in protecting systems that manipulate, distribute, or store sensitive information associated with financial, business, or personal data, including SAP® ABAP™ software applications.
    Type: Grant
    Filed: September 17, 2012
    Date of Patent: July 17, 2018
    Assignee: Virtual Forge GmbH
    Inventors: Andreas Wiegenstein, Markus Schumacher, Xu Jia
  • Patent number: 9971582
    Abstract: Executable code of an application package is decompiled to provide a decompiled application package. Features of the application package are identified based on content of the decompiled application package. A set of wrapper logic components are selected from among a library of wrapper logic components based on the features of the application package. The decompiled application package is disassembled to provide disassembled code. Wrapper program hooks are inserted into the disassembled code to provide modified disassembled code. The modified disassembled code is assembled to provide modified assembled code. The wrapper logic components of the set are combined with the modified assembled code to form a wrapped application package including executable code from the modified assembled code and executable code from the wrapper logic components of the set that intercept calls by the executable code from the modified assembled code.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: May 15, 2018
    Assignee: CA, INC.
    Inventors: Vikrant Nandakumar, Naveen Harry Michael, Hemanth Kumar Pinninti
  • Patent number: 9965399
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: May 8, 2018
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Patent number: 9959215
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains an attribute of a stack trace of a software program. Next, the system uses the attribute to select an address-translation instance from a set of address-translation instances for processing the stack trace. The system then provides the stack trace to the selected address-translation instance for use in translating a set of memory addresses in the stack trace into a set of symbols of instructions stored at the memory addresses.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: May 1, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arman H. Boehm, Anant R. Rao, Jui Ting Weng, Haricharan K. Ramachandra
  • Patent number: 9942179
    Abstract: Generally in a computing environment, executing work based on time (i.e. according to a predetermined schedule) is a common need. However, in cloud based systems, scheduled work may be expensive to customers as generally customers rent system resources. Thus, having a processor dedicated to performing actions that have been pre-scheduled can be expensive. This application describes using a continuation-based runtime for scheduling time-bound and/or periodic work in a distributed (i.e. cloud) system. A system architecture and computer-implemented method are described that deploy an environment-independent action to a remote-based system (such as a cloud computing system, for example). The action is limited to using a predetermined amount of resources and is limited to simple, non-cpu intensive orchestrations of network calls.
    Type: Grant
    Filed: March 15, 2016
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kenneth David Wolf, Clark Roberts, Leon Ezequiel Welicki, Andrei Romanenko, Christopher Lloyd Gillum, Kevin Lam
  • Patent number: 9929922
    Abstract: The disclosed embodiments relate to a system that gathers telemetry data while testing a computer system. During operation, the system obtains a test script that generates a load profile to exercise the computer system, wherein a running time of the test script is designed to be relatively prime in comparison to a sampling interval for telemetry data in the computer system. Next, the system gathers telemetry data during multiple successive executions of the test script on the computer system. The system merges the telemetry data gathered during the multiple successive executions of the test script, wherein the relatively prime relationship between the running time of the test script and the sampling interval for the telemetry data causes a sampling point for the telemetry data to precess through different points in the test script during the multiple successive executions of the test script, thereby densifying sampled telemetry data points gathered for the test script.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: March 27, 2018
    Assignee: Oracle International Corporation
    Inventors: Kenny C. Gross, Kalyanaraman Vaidyanathan, Dustin R. Garvey, Lik Wong
  • Patent number: 9892282
    Abstract: A computer implemented anti-tamper system employing runtime profiling of software in order to decide where to inject integrity checks into the software, to enable verification of whether or not the software has been tampered with. Runtime profiling and analysis is used to record information about the application, in order to establish the locations and targets of runtime integrity checks in order to optimize protection security, while minimizing the performance penalty and the need for hand configuration.
    Type: Grant
    Filed: April 7, 2009
    Date of Patent: February 13, 2018
    Assignee: Inside Secure
    Inventors: Neil William Stewart, Graeme Kerr Harkness, Douglas McPherson Little
  • Patent number: 9858109
    Abstract: Methods, systems, and computer program products are included for performing module unloading in a protected kernel environment. A method includes loading a module into a kernel, the module including an exit function. The kernel provides, to a hypervisor, a memory location corresponding to the exit function of the module. A kernel protection feature is activated. After activating the kernel protection feature, the hypervisor detects an attempt to execute the exit function. The hypervisor determines that the attempt to execute the exit function corresponds to the memory location provided to the hypervisor. Based on the determining, the hypervisor allows execution of the exit function.
    Type: Grant
    Filed: February 26, 2016
    Date of Patent: January 2, 2018
    Assignee: RED HAT ISRAEL, LTD.
    Inventors: Michael Tsirkin, Paolo Bonzini
  • Patent number: 9843570
    Abstract: The present disclosure describes systems and methods for processing security sensor data that enhances the ability of a user to quickly and efficiently review portions of the sensor data streams.
    Type: Grant
    Filed: November 3, 2015
    Date of Patent: December 12, 2017
    Assignee: Datawatch Systems, Inc.
    Inventors: Para Weerasuriya, Kenny Reed
  • Patent number: 9774654
    Abstract: Techniques for generating, storing, and using service call graphs are provided. In one technique, trace data items generated by different services are correlated to generate a service call graph. Trace data indicates when certain services are called and their respective latencies as a result of a client request. A service call graph may reflect a single trace or multiple traces over a particular period of time. A service call graph may be analyzed to inform administrators of a web site how a web application and the services it relies on are performing. A service call graph may be used to determine whether there are sufficient resources to support a projected increase in traffic to a web application. A service call graph may be used to estimate a cost of a web application. Multiple service call graphs may be compared to determine one or more root causes of a performance problem.
    Type: Grant
    Filed: February 2, 2015
    Date of Patent: September 26, 2017
    Assignee: LinkedIn Corporation
    Inventors: Cuong Tran, Badrinath Sridharan, Christopher Coleman, Toon Sripatanaskul, Thomas Goetze
  • Patent number: 9772941
    Abstract: A memory heap management facility is provided that is able to perform various management tasks, including, but not limited to, garbage collection, compaction, and/or re-ordering of objects within a heap. One or more of these management tasks improve system performance by limiting movement of pages in and out of virtual memory. The garbage collection technique selectively performs garbage collection such that certain objects, such as old but live, infrequently referenced objects, are not garbage collected each time garbage collection is performed.
    Type: Grant
    Filed: August 24, 2016
    Date of Patent: September 26, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Thomas J. Heller, Jr.
  • Patent number: 9760378
    Abstract: Embodiments include methods, computer systems and computer program products for performing superscalar out-of-order processing in software in a computer system. Aspects include: loading opcodes into an analysis thread of the computer system, analyzing opcodes to identify certain non-independent opcode snippets, distributing non-independent opcode snippets to separate threads of computer system, instructing each of separate threads to execute each of non-independent opcode snippets, respectively, and collecting results of executions of each of separate threads by a consolidation thread.
    Type: Grant
    Filed: August 4, 2016
    Date of Patent: September 12, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Patricia M. Sagmeister, Martin L. Schmatz
  • Patent number: 9753731
    Abstract: Methods and systems for analyzing and improving performance of computer codes. In some embodiments, a method comprises executing, via one or more processors, program code; collecting, via the one or more processors, one or more hardware dependent metrics for the program code; identifying an execution anomaly based on the one or more hardware dependent metrics, wherein the execution anomaly is present when executing the program code; and designing a modification of the program code via the one or more processors, wherein the modification addresses the execution anomaly. In some other embodiments, a method comprises collecting one or more hardware independent metrics for program code; receiving one or more characteristics of a computing device; and estimating, based on the one or more hardware independent metrics and the one or more characteristics, a duration for execution of the program code on the computing device.
    Type: Grant
    Filed: January 16, 2015
    Date of Patent: September 5, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Milos Puzovic
  • Patent number: 9740588
    Abstract: A computer-implemented method of reducing impact of performance data gathering on execution of instrumented code comprises gathering respective performance data for each of a plurality of routines in the instrumented code over a plurality of execution instances of the instrumented code. The method also comprises determining that the gathered performance data for the at least one selected routine follows an identified pattern for at least one selected routine from the plurality of routines and, in response to determining that the at least one selected routine follows an identified pattern, removing instrumentation associated with the at least one selected routine.
    Type: Grant
    Filed: May 26, 2015
    Date of Patent: August 22, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9720037
    Abstract: A circuit includes don't-care a code-value calculation circuit to calculate third code-values by coding a signal sequence in accordance with a coding scheme; a first sequence-detection circuit to detect a first sequence based on comparison of a first code-value with a difference between the current third code-value and a fourth code-value that is the third code-value preceding the current third code-value by a length of the first sequence; an expected-value calculation circuit to calculate an expected value of the third code-value at the end of the third sequence based on a second code-value and a fifth code-value that is one of the third code-values; and a determination circuit to detect the end of the second sequence based on a length of a fourth sequence, notify an expected-value calculation circuit of the detection of the second sequence, and output a detection signal indicating detection of a detection-target sequence.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: August 1, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Toshiyuki Ichiba, Yoshinori Tomita, Yutaka Tamiya
  • Patent number: 9710236
    Abstract: The disclosed subject matter presents a method for translating between protocols using an extended scripting language. In one embodiment ECMA-262 scripting language is extended to enable one with ordinary skill in the art to create scripts which may be used to perform diverse data manipulation including, but not limited to: file input/output, database manipulation, data identification, data translation, XML functionality, SMB functionality, email, etc. Additionally provided for is running the extended scripting language along side a binary to manipulate data such that changes can be implemented without requiring the recoding and/or recompiling of the binary. In other embodiments, the disclosed subject matter enables the transmission of information via a webservice, with information able to be viewed and/or manipulated on a variety of GUI's.
    Type: Grant
    Filed: October 13, 2014
    Date of Patent: July 18, 2017
    Assignee: AvFinity, LLC
    Inventor: Stephen D. Perkins
  • Patent number: 9684507
    Abstract: A computer-implemented method is disclosed which detects that new source code linked to a defect identifier has been checked in to a source code repository for a given code branch of a software application. The new source code is automatically checked in to additional code branches of the software application based on the defect identifier. For each additional code branch into which the new source code is automatically checked in, code coverage metrics are determined which indicate an extent to which application source code of the code branch is tested by its corresponding test case source code before and after the automatic check in. If a difference between the code coverage metrics indicates that code coverage for the code branch has decreased by more than a predefined threshold, a notification is transmitted that indicates a test case deficiency for the code branch.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: June 20, 2017
    Assignee: CA, Inc.
    Inventors: Ramanjaneyulu Mallisetty, Naveen Arora, Steven C. Versteeg, Xien Yao
  • Patent number: 9658941
    Abstract: A system and methods are provided for function-specific tracing of a program. In one embodiment, a method includes generating a trace profile identifying one or more functions of a target program, wherein the trace profile identifies one or more functions to trace and depth of tracing for each function to be traced, loading the trace profile and the target program, identifying traced functions in the target program based on the trace profile, patching the target program to call a trace parameter for one or more functions, wherein traced functions are declared at runtime, and observing function calls for traced functions of the application. In this regard, individual functions are traced and debugged on a function-by-function basis without modifying the code or pre-arranging functions so they are traceable. As such, the scope of tracing may be dynamically limited to yield only information that is desired.
    Type: Grant
    Filed: January 28, 2013
    Date of Patent: May 23, 2017
    Assignee: Rackspace US, Inc.
    Inventors: Paul Voccio, Matthew Charles Dietz
  • Patent number: 9652364
    Abstract: Techniques for providing a cloud mobile device debugging service may be provided. For example, input may be received that is formatted in a particular debugging protocol. The input may be intended for execution on a browser of a mobile device that is remotely hosted with respect to the source of the input. The input may be translated from the particular debugging protocol to a common debugging protocol and provided to the remotely hosted mobile device. A result of executing the translated input with the remotely hosted mobile device may be displayed via a user interface.
    Type: Grant
    Filed: March 12, 2015
    Date of Patent: May 16, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Ashish Kaila, Kazuyoshi Kato, Arul Murugan Kumaravel, Deeshen Dhirendra Shah, Jeremy Hong-wei Wong, Ning Zhang
  • Patent number: 9639382
    Abstract: An interactive intermediate representation (IR) viewer displays a view of the intermediate representation of client side code during a just-in-time compilation of the client side code in a live environment. The interactive IR viewer allows a developer to request the intermediate representation generated during one or more of the phases of the JIT compilation of the client side code. Modifications may be made to the intermediate representation before executable code is generated. The analysis of the intermediate representation during the live environment provides a developer with insight as to how the executable code is being compiled so that improvements may be made to improve the performance of the client side code.
    Type: Grant
    Filed: May 15, 2014
    Date of Patent: May 2, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Curtis Man, Douglas Charles Ilijev, Brahama Giri Abhijith Chatra
  • Patent number: 9632762
    Abstract: A computer identifies one or more pairs of scalar statements and performs a cost analysis of operations of each of the one or more pairs of scalar statements to determine both a benefit and a cost of operations. The computer determines, based, at least in part, on the cost analysis, a gain for each of the one or more pairs of scalar statements. The computer creates based, at least in part, on the gain, a sorted list of each of the one or more pairs of scalar statements and selects a first pair from the sorted list. The computer issues a query to a hash table using a statement of the first pair and selects from results received from the query, a second pair. The computer then extends, based, at least in part, on the second pair, the first pair to create a pack.
    Type: Grant
    Filed: February 17, 2015
    Date of Patent: April 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Ehsan Amiri, Christopher M. Barton, Yaoqing Gao, Denis M. Palmeiro, Raul E. Silvera
  • Patent number: 9619399
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: April 11, 2017
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Patent number: 9612831
    Abstract: Systems, methods, and apparatus for measuring software development productivity that incorporate a measure of code reuse. Embodiments of the present invention utilize call graph analysis in a computerized environment to efficiently analyze a software code base in an automated fashion and thereby generate reuse measures; and then incorporates the reuse measures in the productivity analysis.
    Type: Grant
    Filed: November 21, 2011
    Date of Patent: April 4, 2017
    Assignee: Virtusa Corporation
    Inventor: Chandika N. Mendis
  • Patent number: 9612852
    Abstract: Techniques for redirecting input/output are disclosed. In one particular embodiment, the techniques may be realized as a method for redirecting input/output comprising the steps of method for redirecting input/output comprising configuring a first virtual machine with a recorder for library interposition, configuring a replica virtual machine with a player for library interposition, receiving a first recorded event from the first virtual machine, and transferring the first recorded event to the replica virtual machine for replay.
    Type: Grant
    Filed: December 18, 2012
    Date of Patent: April 4, 2017
    Assignee: Veritas Technologies LLC
    Inventors: Azzedine Benameur, Nathan S. Evans
  • Patent number: 9612935
    Abstract: A computer implemented method for testing the resiliency of a software application. The computer implemented method can test the resiliency of a software application by monitoring the program state of the software application and trigger a shutdown request when the specified program state has been reached. The shutdown request can be transmitted to the application software and executed to shut down one or more functionalities of the software application. In some examples, the method can specify the functionality to shut down and the program state which the shutdown occurs can be specified in an application configuration file.
    Type: Grant
    Filed: February 2, 2015
    Date of Patent: April 4, 2017
    Assignee: VMware, Inc.
    Inventors: Vineet Kumar Sinha, Prasenjit Sarkar, Sree Ranga Sudha T K, Prashant Kumar, Anoop Shukla
  • Patent number: 9575871
    Abstract: Methods and systems are provided for debugging application code in an on demand environment. The method includes executing the code on a server in the on demand environment; identifying a first location within the code having a suspected error; defining a first check point within the code corresponding to the first location; subsequently re-executing the code, including the first check point, on the server; creating a memory dump corresponding the first check point during re-execution of the code; and debugging the code based on the heap dump without suspending subsequent re-execution of the code.
    Type: Grant
    Filed: September 4, 2013
    Date of Patent: February 21, 2017
    Assignee: salesforce.com, inc.
    Inventor: Peter Wisnovsky
  • Patent number: 9563408
    Abstract: In an embodiment, a technique for generating a comment for an entity associated with a model. The comment may be generated based on at least (1) a structural usage of the entity and (2) a dynamically-specified rule that is associated with the structural usage of the entity. The rule may be used to control content of the comment. The comment may be incorporated in generated code for the model and the generated code including the comment may be outputted (e.g., displayed, stored).
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: February 7, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Andrew C. Bartlett
  • Patent number: 9557977
    Abstract: A computer identifies one or more pairs of scalar statements and performs a cost analysis of operations of each of the one or more pairs of scalar statements to determine both a benefit and a cost of operations. The computer determines, based, at least in part, on the cost analysis, a gain for each of the one or more pairs of scalar statements. The computer creates based, at least in part, on the gain, a sorted list of each of the one or more pairs of scalar statements and selects a first pair from the sorted list. The computer issues a query to a hash table using a statement of the first pair and selects from results received from the query, a second pair. The computer then extends, based, at least in part, on the second pair, the first pair to create a pack.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: January 31, 2017
    Assignee: International Business Machines Corporation
    Inventors: Ehsan Amiri, Christopher M. Barton, Yaoqing Gao, Denis M. Palmeiro, Raul E. Silvera
  • Patent number: 9547599
    Abstract: In one embodiment, a method for predicting false sharing includes running code on a plurality of cores and tracking potential false sharing in the code while running the code to produce tracked potential false sharing, where tracking the potential false sharing includes determining whether there is potential false sharing between a first cache line and a second cache line, and where the first cache line is adjacent to the second cache line. The method also includes reporting potential false sharing in accordance with the tracked potential false sharing to produce a false sharing report.
    Type: Grant
    Filed: July 25, 2014
    Date of Patent: January 17, 2017
    Assignee: FUTUREWEI TECHNOLOGIES, INC.
    Inventors: Chen Tian, Tongping Liu, Ziang Hu
  • Patent number: 9535666
    Abstract: The present technology utilizes agents to monitor and report data from Java virtual machines (JVM) to a controller as part of application performance monitoring. When a JVM is loaded, code defining an interface for agents is loaded as well. A determination may be made as to whether the loaded agent implements the interface defined at the JVM. If the loaded agent does not implement the interface, for example if it is missing one or more methods defined by the interface, the agent class may be modified to define the missing methods. The modification to the agent class may be made after compilation but before the class is loaded into the JVM.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: January 3, 2017
    Assignee: AppDynamics, Inc.
    Inventors: Vinay Srinivasaiah, Bradley Winslow
  • Patent number: 9529695
    Abstract: Testing computer software applications is performed by identifying first and second executable portions of the computer software application, where the portions are configured to access a data resource, and where at least one of the portions is configured to write to the data resource, instrumenting the computer software application by inserting one or more instrumentation instructions into one or both of the portions, where the instrumentation instruction is configured to cause execution of the portion being instrumented to be extended by a randomly-determined amount of time, and testing the computer software application in multiple iterations, where the computer software application is executed in multiple parallel execution threads, where the portions are independently executed at least partially in parallel in different threads, and where the computer software application is differently instrumented in each of the iterations.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: December 27, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Omer Tripp