Patents Examined by Tina Huynh
  • Patent number: 9459989
    Abstract: A method and apparatus for reverse debugging source code using causal analysis is disclosed. The method comprises executing byte-code created from a plurality of lines of source code, wherein the plurality of lines of source code comprise at least one breakpoint; storing execution data after execution of each line of source code in the plurality of lines of source code until execution reaches the at least one breakpoint; performing a code execution analysis using the execution data and the plurality of lines of source code; receiving an input via a graphical user interface (GUI), wherein the input requests specific execution details based on the code execution analysis; and responding via the GUI to the input.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: October 4, 2016
    Assignee: ADOBE SYSTEMS INCORPORATED
    Inventor: Anirudh Sasikumar
  • Patent number: 9459850
    Abstract: Clients accessing cloud computing services are allocated respective virtual machines, each client specifying defining parameters for its virtual machine(s). A just-in-time compiler executing within a client's virtual machine optimizes the executable code it generates based at least in part, on the defining parameters of the virtual machine. During execution of an application using the just-in-time compiler, the compiler is notified of changes made to the defining parameters of the virtual machine. Responsive to such notification, the just-in-time compiler thereafter optimizes compiled code it generates for execution in the virtual machine as modified.
    Type: Grant
    Filed: June 16, 2014
    Date of Patent: October 4, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Brian R. Muras
  • Patent number: 9459849
    Abstract: Clients accessing cloud computing services are allocated respective virtual machines, each client specifying defining parameters for its virtual machine(s). A just-in-time compiler executing within a client's virtual machine optimizes the executable code it generates based at least in part, on the defining parameters of the virtual machine. During execution of an application using the just-in-time compiler, the compiler is notified of changes made to the defining parameters of the virtual machine. Responsive to such notification, the just-in-time compiler thereafter optimizes compiled code it generates for execution in the virtual machine as modified.
    Type: Grant
    Filed: January 17, 2014
    Date of Patent: October 4, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Brian R. Muras
  • Patent number: 9460282
    Abstract: Systems for constructing hybrid string representations include a string parser configured to parse received string information to produce one or more string components, a database configured to store a set of known concretizations, and a processor configured to compare the one or more string components to the set of known concretizations to determine string components that may be represented concretely, to abstract all string components that could not be represented concretely, and to create a hybrid string representation that includes at least one concrete string component and at least one abstracted string component.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: October 4, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
  • Patent number: 9442827
    Abstract: A dataflow of a distributed application is visualized in a locally simulated execution environment. A scheduler receives a job graph which includes a graph of computational vertices that are designed to be executed on multiple distributed computer systems. The scheduler queries a graph manager to determine which computational vertices of the job graph are ready for execution in a local execution environment. The scheduler queries a cluster manager to determine the organizational topology of the distributed computer systems to simulate the determined topology in the local execution environment. The scheduler queries a data manager to determine data storage locations for each of the computational vertices indicated as being ready for execution in the local execution environment. The scheduler also indicates an instance of each computational vertex to be spawned and executed in the local execution environment based on the organizational topology and indicated data storage locations.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: September 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Massimo Mascaro, Igor Ostrovsky, Emad A. Omara
  • Patent number: 9430214
    Abstract: An embedded step is executed to upgrade multiple layers of a system. The embedded step includes multiple nested steps, and each nested step includes a sequence of actions for upgrading one of the layers. A finite state machine defines the state transitions for each nested step. During the execution of the nested steps, an outer step of the nested steps is transitioned from an executing state into a waiting state after the outer step completes a tear-down. During the transitioning of the outer step, the outer step sends a trigger to an inner step of the nested steps to cause the inner step to transition into the executing state. When the inner step is completed, the outer step is transitioned out of the waiting state to execute a build-up phase. Execution of the embedded step is completed when an outermost step of the nested steps is completed.
    Type: Grant
    Filed: March 7, 2013
    Date of Patent: August 30, 2016
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Ekansh Singh Katihar, Maria Toeroe
  • Patent number: 9424423
    Abstract: Methods for creating a hybrid string representations include receiving string information as input; parsing the string information to produce one or more string components; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations; abstracting all string components that could not be represented concretely; and creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: August 23, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
  • Patent number: 9396007
    Abstract: Disclosed here are methods, systems, paradigms and structures for deleting shared resources from a cache in a multi-threaded system. The shared resources can be used by a plurality of requests belonging to multiple threads executing in the system. When requests, such as requests for executing script code, and work items, such as work items for deleting a shared resource, are created, a global sequence number is assigned to each of them. The sequence number indicates the order in which the requests and work items are created. A particular work item can be executed to delete the shared resource if there are no requests having a sequence number lesser than that of the particular work item executing in the system. However, if there is at least one request with a sequence number lesser than that of the particular work item executing, the work item is ignored until the request completes executing.
    Type: Grant
    Filed: March 22, 2013
    Date of Patent: July 19, 2016
    Assignee: FACEBOOK, INC.
    Inventors: Keith Adams, Jason Owen Evans
  • Patent number: 9323651
    Abstract: A bottleneck detector may analyze individual workloads processed by an application by logging times when the workload may be processed at different checkpoints in the application. For each checkpoint, a curve fitting algorithm may be applied, and the fitted curves may be compared between different checkpoints to identify bottlenecks or other poorly performing sections of the application. A real time implementation of a detection system may compare newly captured data points against historical curves to detect a shift in the curve, which may indicate a bottleneck. In some cases, the fitted curves from neighboring checkpoints may be compared to identify sections of the application that may be a bottleneck. An automated system may apply one set of checkpoints in an application, identify an area for further investigation, and apply a second set of checkpoints in the identified area. Such a system may recursively search for bottlenecks in an executing application.
    Type: Grant
    Filed: April 18, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles D. Garrett, Christopher W. Fraser
  • Patent number: 9323652
    Abstract: A bottleneck detector may use an iterative method to identify a bottleneck with specificity. An automated checkpoint inserter may place checkpoints in an application. When a bottleneck is detected in an area of an application, the first set of checkpoints may be removed and a new set of checkpoints may be placed in the area of the bottleneck. The process may iterate until a bottleneck may be identified with enough specificity to aid a developer or administrator of an application. In some cases, the process may identify a specific function or line of code where a bottleneck occurs.
    Type: Grant
    Filed: April 18, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles D. Garrett, Christopher W. Fraser
  • Patent number: 9244673
    Abstract: Systems, methods, and non-transitory computer-readable storage media for updating software applications installed on client computing devices, creating a manifest file describing the differences between multiple versions of application archives present in an application distribution system, and coordinating an update process for updating the applications on the client computing devices are disclosed. A scheme of hard-linking to existing files, downloading new files, and erasing unwanted files can be used.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: January 26, 2016
    Assignee: Apple Inc.
    Inventors: Paul William Chinn, Eric Olaf Carlson, Cameron Stuart Birse, James Mensch, Ronnie Misra
  • Patent number: 9176732
    Abstract: Implementations of the present disclosure involve a system and/or method for minimum cost cycle removal from a directed graph. The system determines if a provided graph contains any cycles by assigning each vertex an integer value and comparing the integer values of vertices connected by an edge. When the value of a starting vertex is greater than an ending vertex, a cycle is present. The system then determines which edges may be removed in order to minimize the cost of breaking the cycle. The system generates a linear cost function that is equal to the sum of a cost to remove an edge multiplied by a corresponding binary variable. Constraints are generated to ensure that the result does not have any cycles. The system then solves for the minimum of the linear cost function by utilizing the constraints. The value of the binary variables may then be used to determine which edges to remove.
    Type: Grant
    Filed: August 28, 2013
    Date of Patent: November 3, 2015
    Assignee: Oracle International Corporation
    Inventors: Ashutosh Chakraborty, Wonjoon Choi, Duo Ding, Rajendran Panda
  • Patent number: 9170787
    Abstract: Compiler functionality is componentized to enable use across different contexts. Conventionally tightly coupled functionality is decoupled and an interface afforded to facilitate interaction with compiler components/subcomponents in various scenarios. In one instance, compiler components can be employed across compile time and runtime. Compile time functionality can be employed at runtime and runtime functionality utilized at compile time thereby blurring the line between time dimensions.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Paul A. Vick, Scott Daniel Wisniewski
  • Patent number: 9164733
    Abstract: An embodiment can include one or more computer-readable media storing executable instructions that when executed on processing logic process variable signals. The media can store one or more instructions for receiving executable code that includes constructs with variable signals for processing the variable signals, and for performing a coverage measurement on the executable code based on information about one or more of the variable signals processed by the executable code. The media can store one or more instructions for producing a coverage result based on the coverage measurement, the coverage result identifying a degree of coverage for the executable code when the executable code processes the variable signals.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: October 20, 2015
    Assignee: The MathWorks, Inc.
    Inventors: William J. Aldrich, Olga Voronina, Zsolt Kalmar
  • Patent number: 9158664
    Abstract: An embodiment can include one or more computer-readable media storing executable instructions that when executed on processing logic process variable signals. The media can store one or more instructions for receiving executable code that includes constructs with variable signals for processing the variable signals, and for performing a coverage measurement on the executable code based on information about one or more of the variable signals processed by the executable code. The media can store one or more instructions for producing a coverage result based on the coverage measurement, the coverage result identifying a degree of coverage for the executable code when the executable code processes the variable signals.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: October 13, 2015
    Assignee: The MathWorks, Inc.
    Inventors: William J. Aldrich, Olga Voronina, Zsolt Kalmar
  • Patent number: 9141343
    Abstract: The disclosed embodiments provide a system that facilitates the development and compilation of a software program. During operation, the system provides, in a programming language platform associated with source code for the software program, an indicator for a resource with a close method that does not complete erroneously. Next, the system enables use of the indicator with a resource-management statement in the source code, wherein the indicator facilitates omission of an exception-handling construct for the resource-management statement.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: September 22, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Joseph D. Darcy
  • Patent number: 9135147
    Abstract: A novel system, computer program product, and method are disclosed for feedback-directed automated test generation for programs, such as JavaScript, in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. Several instantiations of the framework are implemented, corresponding to variations on feedback-directed random testing, in a tool called Artemis.
    Type: Grant
    Filed: April 26, 2012
    Date of Patent: September 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Julian Dolby, Salvatore A. Guarnieri, Simon H. Jensen, Marco Pistoia, Manu Sridharan, Frank Tip, Omer Tripp
  • Patent number: 9134980
    Abstract: A set of techniques is described for enabling profile-driven compiler optimization based on cloud-specific information. A service provider may host applications on behalf of multiple users by providing a set of shared resources in a multi-tenant computing environment, where the resources are shared by the various applications hosted thereon. The service provider can collect runtime conditions, resource contention data and other environment-specific information of the shared resources. This gathered information can be provided a profile-driven compiler. The profile-driven compiler can use the information to recompile the source code of the application to produce an optimized version the application that is specifically tuned to run on the shared resources. The running version of the application can then be replaced by the optimized version.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: September 15, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Luis Felipe Cabrera, Eric Jason Brandwine, James R. Hamilton, Jonathan A. Jenkins, Matthew D. Klein, Nathan Thomas, Pradeep Vincent
  • Patent number: 9111031
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for simulating and analyzing code execution in a multi-tenant environment. These mechanisms and methods for simulating and analyzing code execution in a multi-tenant environment can enable embodiments to provide an improved interface for analyzing the performance of application on the multi-tenant database. The ability of embodiments to provide better analysis of simulated execution can enable higher quality application developed in less time.
    Type: Grant
    Filed: November 10, 2010
    Date of Patent: August 18, 2015
    Assignee: salesforce.com, inc.
    Inventors: Peter S. Wisnovsky, Taggart C. Matthiesen
  • Patent number: 9081644
    Abstract: The disclosure is directed to dynamic insertion and removal of virtual software sub-layers. In one example, a virtual layer associated with a software application is virtually installed and activated in a computing device. A virtual sub-layer associated with a component of the software application is dynamically inserted in the virtual layer. The virtual layer remains active during the dynamic insertion of the virtual sub-layer. In certain embodiments, a process is executed from the virtual layer, a determination is made as to whether the process launched before or after the insertion of the virtual sub-layer, and the inserted virtual sub-layer is selectively made visible or invisible to the process based on the determination.
    Type: Grant
    Filed: July 17, 2012
    Date of Patent: July 14, 2015
    Assignee: Symantec Corporation
    Inventor: Randall R. Cook