Patents Examined by Joanne Macasiano
  • Patent number: 9336128
    Abstract: A method for code analysis includes generating, by a computer processor, an execution path through software code. Generating the execution path includes adding, for an object having an undefined class, a first symbolic type constraint to a path condition of the first execution path based on a first statement in the execution path, and adding, for the object having the undefined class, a second symbolic type constraint to the path condition of the execution path based on a second statement in the first execution path. The method further includes the computer processor making a determination that the path condition of the execution path is infeasible based on the first symbolic type constraint of the object being inconsistent with the second symbolic type constraint of the object, and discarding the execution path based on the determination.
    Type: Grant
    Filed: March 21, 2014
    Date of Patent: May 10, 2016
    Assignee: Oracle International Corporation
    Inventors: Lian Li, Andrew Santosa
  • Patent number: 9329876
    Abstract: The described implementations relate to resource aware programming. In one case a program is obtained that is configured to perform a task in accordance with one or more quantitative metrics. An approximate version can be generated from the program. The approximate version is configured to perform the task in a manner that satisfies the one or more quantitative metrics while using fewer computer resources than the program.
    Type: Grant
    Filed: May 20, 2009
    Date of Patent: May 3, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Trishul A. Chilimbi, Woongki Baek
  • Patent number: 9317265
    Abstract: Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for atomic execution. Atomic execution of the script is achieved by generating portions of the IR as an atomic transaction. In an atomic transaction, a series of operations either all execute, or none executes. The IR includes checkpoints that evaluate to one of two possible values. The checkpoint evaluates to a first value when there is no error during execution, and evaluates to a second value when an error occurs. The IR is optimized for atomic execution by regenerating a portion of the IR including the checkpoint and code associated with the checkpoint as a transaction. When an error occurs during the execution of the transaction, the transaction is aborted and a state of execution of the script code is reverted to a state prior to the beginning of the transaction.
    Type: Grant
    Filed: March 25, 2013
    Date of Patent: April 19, 2016
    Assignee: Facebook, Inc.
    Inventors: Ali-Reza Adl-Tabatabai, Guilherme de Lima Ottoni, Michael Paleczny
  • Patent number: 9286197
    Abstract: Method and system of testing software using real time replication. At least some illustrative embodiments are methods comprising interacting (by a human tester) with a first software program executed on a first computer system (the interacting causes an operation to be performed on the first software program), duplicating the operation on a second software program executed on a second computer system coupled to the first computer system (the duplicating on the second computer system in real time with the interacting and the duplicating without a human tester), programmatically analyzing a result of the operation on the first computer system against a result of the operation on the second computer system, and notifying the human tester (by way of the first computer system) when the result of the operation on the second computer system is unexpected.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: March 15, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Alexei Ledenev, Ilan Shufer
  • Patent number: 9223582
    Abstract: Embodiments provide a method for generating a user interface (UI) using a UI description language. An exemplary method may be executed by a computer processor to designate each element of the UI as either a container element or a child element, store a design guideline as a set of editable rules, integrate the set of editable rules in a prototyping tool, integrate the prototyping tool in a development environment and render the UI by using a rules engine to interpret the set of editable rules.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: December 29, 2015
    Assignee: SAP SE
    Inventor: Dietrich Mayer-Ullmann
  • Patent number: 9182961
    Abstract: A system and method accepts source code including one or more variables or constants, and, for those variables or constants flagged as those that are to be automatically provided to a gateway, generates or provides communication code and a description that allows the values to be sent to a gateway for retrieval using a variety of formats. More specifically, certain containers within the source code are marked to indicate that the certain containers are remotely retrievable. These marked containers are linked to an entry in the profile. Then responsive to the source code indicating that at least one of the devices is a wireless portable device, a new profile is generated and is used along with the source code to generate a set of code for at least one of the one or more devices that can repeatedly providing, to a gateway, a value named in the source code.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: November 10, 2015
    Assignee: Cisco Technology, Inc.
    Inventor: Gilman Tolle
  • Patent number: 9176842
    Abstract: A method for control flow analysis according to an embodiment of the present invention includes: acquiring an original function call tree of a program, wherein nodes of the original function call tree represent functions and a parent/child relation between the nodes represents a calling relation; generating a corresponding function dominator tree from the calling relation, wherein nodes of the function dominator tree represent the functions and a parent/child relation between the nodes represents a dominator relation, wherein a first function dominates a second function if all the invocations to the second function are originated by the first function; and simplifying the original function call tree according to the function dominator tree so as to obtain a simplified function call tree. According to an embodiment of the present invention, the function call tree for control flow analysis can be simplified.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: November 3, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Qin Yue Chen, Qi Liang, Hong Chang Lin, Feng Liu
  • Patent number: 9152389
    Abstract: A trace generating unit according to an embodiment of the present invention generates parallel trace information by executing a sequential program code, in case that the above-described sequential program code is parallelized and executed. The sequential program code includes a plurality of processing codes, codes to record a start and an end of the execution for each processing code, and codes to record a start and an end of the execution for each thread. The parallel trace information includes an execution sequence of the threads and an execution sequence of the processing codes for each thread.
    Type: Grant
    Filed: March 8, 2011
    Date of Patent: October 6, 2015
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Susumu Takeda, Hidenori Matsuzaki
  • Patent number: 9146718
    Abstract: Optimizing compiled code includes finding a portion of the compiled code arising from method calls in a portion of source code that were not chained method calls. Modified code is produced for the portion of the compiled code, wherein the modified code conforms to compiled code that would have arisen from source code having chained calls equivalent to the method calls that were not chained in the portion of the source code.
    Type: Grant
    Filed: August 10, 2013
    Date of Patent: September 29, 2015
    Assignee: International Business Machines Corporation
    Inventor: Berthold M. Lebert
  • Patent number: 9135137
    Abstract: A method for control flow analysis according to an embodiment of the present invention includes: acquiring an original function call tree of a program, wherein nodes of the original function call tree represent functions and a parent/child relation between the nodes represents a calling relation; generating a corresponding function dominator tree from the calling relation, wherein nodes of the function dominator tree represent the functions and a parent/child relation between the nodes represents a dominator relation, wherein a first function dominates a second function if all the invocations to the second function are originated by the first function; and simplifying the original function call tree according to the function dominator tree so as to obtain a simplified function call tree. According to an embodiment of the present invention, the function call tree for control flow analysis can be simplified.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: September 15, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Qin Yue Chen, Qi Liang, Hong Chang Lin, Feng Liu
  • Patent number: 9110653
    Abstract: Product data management systems, methods, and mediums. A method includes receiving a functional model, and identifying a plurality of elements of the functional model. Each element corresponds to one or more machine operations. The method includes identifying concurrencies between elements to determine at least one set of elements. The method includes creating an execution thread for each of the sets of elements. The method can include generating a rule-based programmable logic controller (PLC) program corresponding to the functional model, based on the execution threads.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: August 18, 2015
    Assignee: Siemens Product Lifecycle Management Software Inc.
    Inventors: Arquimedes Martinez Canedo, Lingyun Lu
  • Patent number: 9098621
    Abstract: The described implementations relate to analysis of computing programs. One implementation provides a technique that can include accessing values of input variables that are processed by test code and runtime values that are produced by the test code while processing the input variables. The technique can also include modeling relationships between the runtime values and the values of the input variables. The relationships can reflect discontinuous functions of the input variables.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: August 4, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alice X. Zheng, Madanlal S. Musuvathi, Nishant A. Mehta
  • Patent number: 9043744
    Abstract: Systems, Apparatus, methods, and computer program products are provided for converting an existing artifact to one or more new artifacts. For example, in one embodiment, a computing device can receive input identifying an existing artifact for conversion to one or more new artifacts. One or more items from the existing artifact and their respective types can be identified for conversion. Then, the one or more items of the existing artifact can be converted to one or more new artifacts.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: May 26, 2015
    Inventors: Melissa Roberts, Sherry Cowart, Melissa Campbell
  • Patent number: 9003370
    Abstract: There are provided: a test executing section which generates a plurality of logs when executing a coverage test for an application based on an inputted parameter; and a result processing section which generates a point candidate report based on the plurality of logs. The plurality of logs respectively indicate a call stack of a method designating the parameter as an argument among a plurality of methods called during execution of the coverage test. The call stack indicates a location on the application, in which a call of the method is defined. The point candidate report indicates a candidate for a point in the application, for which a modification is necessary when a dispatch of process is executed based on the parameter.
    Type: Grant
    Filed: March 2, 2011
    Date of Patent: April 7, 2015
    Assignee: NEC Corporation
    Inventor: Kenji Soejima
  • Patent number: 8978012
    Abstract: A system, apparatus and method for reporting a failure in execution of a software transaction (e.g., scripts and executables to install software on a computer) to a network resource that can then store the error-related information and automatically provide a previously determined solution to the error or links to resources to which the customer can refer for help in resolving the problem is provided. Automatically searching a database of reported errors and their solutions for a variety of products and providing a found solution to a customer experiencing an error (e.g., an installation error) is further provided. In the event that a solution to a customer-experienced error is not found by the network resource, alternate sites for information such as a customer support website can also be provided.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: March 10, 2015
    Assignee: Symantec Operating Corporation
    Inventor: James Cabell Poole
  • Patent number: 8966442
    Abstract: A method to manage program code that runs in a computer system comprising: producing a transfer template information definition structure in a computer readable storage device that includes a provider code attribute a similarity measure attribute and at least one results attribute; producing a transfer instance of the transfer template information definition structure that associates a provider code object identified as corresponding to the respective managed code object with the provider object code attribute and that associates the determined measure of similarity with the similarity measure attribute; using the transfer instance to obtain results information from a provider system that includes information about the provider code object.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: February 24, 2015
    Assignee: SAP SE
    Inventors: Veit Eska, Christoph Vehns
  • Patent number: 8954949
    Abstract: Software fix packs and/or APAR's are maintained at a server for use on a requesting computer system. The requesting computer system makes a request for a specific APAR, which is identified by a version number, from the server. The server determines, by examining the requesting computer's request, whether the requesting computer system has all required software dependencies for the requested APAR. When it is determined what the requesting computer systems needs, the server bundles the requested APAR and any required software dependencies, not already on the requesting computer system, for shipment to the requesting computer system.
    Type: Grant
    Filed: October 11, 2010
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: B. G. Prashanth Bhat, Madhu B. Ananthapadmanabh
  • Patent number: 8949808
    Abstract: Systems and methods for the vectorization of software applications are described. In some embodiments, a compiler may automatically generate both scalar and vector versions of a function from a single source code description. A vector interface may be exposed in a persistent dependency database that is associated with the function. This may allow a compiler to make vector function calls from within vectorized loops, rather than making multiple serialized scalar function calls from within a vectorized loop. This may in turn facilitate the vectorization of hierarchical code, which may improve application performance when vector execution resources are available.
    Type: Grant
    Filed: September 23, 2010
    Date of Patent: February 3, 2015
    Assignee: Apple Inc.
    Inventor: Jeffry E. Gonion
  • Patent number: 8943488
    Abstract: Methods for updating video game software or handheld game devices, and systems for performing the methods. In some embodiments a first handheld game device with a later version of a game update software of a second handheld game device with an earlier version of the game.
    Type: Grant
    Filed: December 31, 2007
    Date of Patent: January 27, 2015
    Assignee: Activision Publishing, Inc.
    Inventors: Gregory Keith Oberg, Jesse Nathaniel Booth
  • Patent number: 8938729
    Abstract: A two-pass technique for instrumenting an application is disclosed. One pass may be performed statically by analyzing the application and inserting probes while the application is not running. Another pass may be performed dynamically by analyzing data collected by the probes while the application runs to derive metrics for the probes. One or more metrics for each probe may be analyzed to determine whether to dynamically modify the probe. By dynamically modifying the probe, the application does not need to be shut down. Dynamically modifying the probe could include removing the probe from the application or moving the probe to another component (e.g., method) in the application, as examples. For example, the probe might be moved to a component that is either up or down the call graph from the component that the probe is presently in.
    Type: Grant
    Filed: October 12, 2010
    Date of Patent: January 20, 2015
    Assignee: CA, Inc.
    Inventors: David Brooke Martin, Marco Gagliardi, Mark Jacob Addleman