Patents Examined by Xi D Chen
  • Patent number: 9015674
    Abstract: Various technologies pertaining to answering reachability queries are described herein. A reachability query includes a user-specified destination line of code in source code that is desirably analyzed. A theorem prover is employed to identify an execution path through the source code that reaches the destination line of code. Graphical data is presented to the user that illustrates to the user the execution path through the source code that reaches the destination line of code.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert DeLine, Mike Barnett, Akash Lal, Shaz Qadeer
  • Patent number: 8997053
    Abstract: The present disclosure provides a system, method and computer program product that uses abstraction to enable the definition, development and maintenance of testing libraries for both simple and complex user interface controls. The system and method hide the granular details from the test designer while still promoting reuse. Using the system and method, designers can define a library of functionality for common controls that map 1-to-1 with visual controls, which may be re-implemented across many APIs or programming languages.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: March 31, 2015
    Assignee: Worksoft, Inc.
    Inventor: Andres Matias Yanes
  • Patent number: 8984488
    Abstract: Systems and methods for type and range propagation through data flow models are provided. In one embodiment, a test generating system for processing data flow diagrams, the system comprises: a processor programmed to perform a test generation process; and at least one memory device coupled to the processor, the at least one memory device including a data flow diagram. The test generation process computes range information and data type information for outputs of one or more functional blocks defined by the data flow diagram by applying transformations to input range information for inputs of each of the one or more functional blocks. The transformations are at least in part performed by applying specific mathematical and functional effects that are pre-defined for each of the one or more functional blocks based on block type.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: March 17, 2015
    Assignee: Honeywell International Inc.
    Inventors: Devesh Bhatt, Steve Hickman, Manish Patodi, David V. Oglesby, Kirk Schloegel
  • Patent number: 8984493
    Abstract: A method for distributed static analysis of computer software applications, includes: statically analyzing instructions of a computer software application; identifying at least one entry point in the computer software application; assigning a primary agent to statically analyze the computer software application from the entry point; assigning a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site; and presenting results of any of the static analyzes via a computer-controlled output device.
    Type: Grant
    Filed: April 23, 2013
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp, Omri Weisman
  • Patent number: 8978020
    Abstract: In an aspect, the present application relates to a computer-implemented method, computer system, and computer program product for (automatically) generating reusable test components to test software applications. The computer-implemented method for generating reusable test components to test software applications may comprise: accessing an object model relating to at least part of a software application; and generating at least one test component applicable to test the software application, comprising: analyzing the object model, generating a meta-description from the object model and store the meta information in at least one descriptor according to a meta model, and generating the test component and a corresponding component implementation based on the descriptor.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: March 10, 2015
    Assignee: SAP SE
    Inventor: Claude Rossi
  • Patent number: 8972974
    Abstract: Methods, apparatuses, and systems for handling multiple invocation points in a software build task sequence are described. A computer may receive a task sequence. The task sequence may include instructions for combining a first image and a second image to form a third image, installing a first software stack on the computer from a fourth image, and installing a software component to a second software stack already installed on the computer. The computer may receive an indication of a start point to begin executing the task sequence, and may execute the task sequence beginning at the start point.
    Type: Grant
    Filed: March 25, 2010
    Date of Patent: March 3, 2015
    Assignee: Bank of America Corporation
    Inventors: Daniel McCurdy, Craig Leslie Ewington, William Harrison McGraw, IV
  • Patent number: 8966447
    Abstract: In one embodiment, an automated user-level testing tool is enhanced to capture additional information about the state of the automated testing, beyond just a screenshot of the application-under-test. In another embodiment, an automated user-level testing tool is enhanced to capture testing state information for multiple points in time (referred to as “snapshots”), beyond just when the application-under-test crashes. This captured information from one execution of an automated test (one “test run”) is stored in one test log, which can then be viewed using a test log viewer. In one embodiment, the graphical user interface (GUI) for the test log viewer includes four areas: a screenshot area, a test script area, a stack trace area, and a timing area. The content shown in the screenshot area, the test script area, and the stack trace area is specific to a particular point in time during a test (e.g., a particular snapshot).
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: February 24, 2015
    Assignee: Apple Inc.
    Inventors: Evan M. Hoke, Patrick R. Holley, Jonathan M. Deutsch
  • Patent number: 8954929
    Abstract: A unit testing system allows testing of multiple types of method calls using an unmodified software application module. The system dynamically copies byte code of the tested method, clones the byte code, and executes the cloned byte code. During cloning, the system instruments the code so that method calls are redirected into a system method, where the system can determine whether a mocked method should be called instead. The result is that the developer does not need to modify the original methods in order to redirect method calls to mock methods. The developer can simply reference a test module of the unit testing system and easily write tests that redirect any method they wish. Thus, the unit testing system provides a framework for building more useful unit tests that cause less interference with production-ready code.
    Type: Grant
    Filed: March 29, 2010
    Date of Patent: February 10, 2015
    Assignee: Microsoft Corporation
    Inventor: Michael J. Braude
  • Patent number: 8954952
    Abstract: A method and apparatus for providing portability of a business process deployment model across different application servers. In one embodiment, a method may include determining which application server will be used for deploying a business process as a web application, and invoking an implementation framework of application server interfaces that corresponds to this application server. The method may further include utilizing the invoked implementation framework to obtain application server information needed for deploying the business process as a web application, and generating a web application package using the application server information.
    Type: Grant
    Filed: November 30, 2007
    Date of Patent: February 10, 2015
    Assignee: Red Hat, Inc.
    Inventor: Alejandro Guizar
  • Patent number: 8949797
    Abstract: A system, method and computer program product for verifying integrity of a running application program on a computing device. The method comprises: determining entry points into an application programs processing space that impact proper execution impact program integrity; mapping data elements reachable from the determined entry points into a memory space of a host system where the application to verify is running; run-time monitoring, in the memory space, potential modification of the data elements in a manner potentially breaching program integrity; and initiating a response to the potential modification. The run-time monitoring detects when a data transaction, e.g., a write event, reaches a malicious agent's entry point, a corresponding memory hook is triggered and control is passed to a security agent running outside the monitored system.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Najwa Aaraj, Mihai Christodorescu, Dimitrios Pendarakis, Reiner Sailer, Douglas L. Schales
  • Patent number: 8943490
    Abstract: In general, techniques are described for performing a controlled non-stop software upgrade (NSSU) of a network device. In some examples, a method includes receiving, by a first network device included in a virtual network device, a non-stop software upgrade (NSSU) request. The first network device is communicatively coupled to each of a computing device and a second network device. The method includes, in response to receiving the NSSU request, forwarding to the second network device, network packets that are received at the first network device and destined to the computing device. The method also includes sending a message to the computing device that instructs the computing device to stop sending network packets to the first network device. The method includes updating one or more software components within the first network device, after sending the message to the computing device and based at least in part on the NSSU request.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: January 27, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Amit Jain, Rajagopalan Sivaramakrishnan, Abhiman Yashpala Karkera, Siva Madasamy
  • Patent number: 8938735
    Abstract: The present invention provides a bootstrapper and download manager for handling the download and installation of one or more software products to a computer. The invention determines system requirements and whether any prerequisite software is required by a software product to be downloaded. Any necessary prerequisite software is installed on the computer and if more than one software product has a shared prerequisite, then the invention recognizes that and prevents downloading multiple ones of the shared prerequisites. Also, in the event of an interruption or error during download, the invention can resume downloading or installation based on the download successfully stored on the local machine without requiring the download all over again. This saves considerable time during the download and install process and enhances user productivity and experience.
    Type: Grant
    Filed: August 31, 2007
    Date of Patent: January 20, 2015
    Assignee: Thomson Reuters Global Resources
    Inventor: Shane Jimmerson
  • Patent number: 8930908
    Abstract: In a system and a method, a sub-test catalog is retrieved from a test catalog repository. A test aspect of the sub-test catalog is compared to an aspect of a software application to be tested. A required system capability of the sub-test catalog is compared to the capabilities of a system landscape based on a determination that the sub-test catalog test aspect matches the aspect of the software application to be tested. The system landscape includes at least one system. The sub-test catalog is added to a master test catalog based on a determination that the required system capability of the sub-test catalog matches the system landscape capabilities.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: January 6, 2015
    Assignee: SAP SE
    Inventors: Uwe Bloching, Stefan Rau
  • Patent number: 8930909
    Abstract: Exemplary embodiments enable debugging executable code using a debugger in a computational device that provides a programming environment including a presentation layer. For example, an exemplary method includes providing a first marshalling function that receives a portion of information manipulated by the executable code and produces a presentation layer representation of the portion of the information. The presentation layer representation is compatible with a debugger that debugs the executable code. An exemplary method also includes debugging the executable code to produce a presentation layer representation of the portion of the information with the first marshalling function so as to display the presentation layer representation of the portion of the information to a user via a display device. The debugging also includes modifying the presentation layer representation of the portion of the information to produce modified information for use by the executable code, a device, or a user.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: January 6, 2015
    Assignee: The MathWorks, Inc.
    Inventors: John Elliott, Frederick Mattsson Smith, Yao Ren
  • Patent number: 8924930
    Abstract: Techniques are described for tracking and maintaining the lineage of virtual machines (VMs). As applications are built or compiled, information about the makeup or elements of the applications is captured. As applications are installed on VMs, that information is also captured. As the VMs are deployed to hosts, decommissioned, migrated between hosts, etc., that information is also maintained. Therefore, it is possible to trace relations between live VMs (and/or hosts they execute on) and the elements of applications installed on the VMs. For example, if an element is a source code file, it may be possible to link that source code file with particular hosts or VMs. Or, it may be possible to determine whether a given host or VM has a dependency on an application element. Given a dataset of lineage information, a wide range of previously unavailable information can be obtained.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: December 30, 2014
    Assignee: Microsoft Corporation
    Inventor: Robert Fries
  • Patent number: 8924917
    Abstract: Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets are disclosed. The system reads and stores a first version of data with a timestamp. The system then performs a local update by reading a second version of data with a timestamp, replacing the first set of data and timestamp, and storing the changes between the first and second versions of data. The system also may receive update requests from a remote location for the latest version of data. The changes between versions of data are sent to the remote location, where the changes between versions of data are stored and are usable to create the requested latest version of data and/or prior versions of data.
    Type: Grant
    Filed: March 20, 2013
    Date of Patent: December 30, 2014
    Assignee: ManageIQ, Inc.
    Inventors: Joseph Fitzgerald, Oleg Barenboim, Gregory McCullough, Gregg Tanzillo, Richard Oliveri, Daniel A. Clarizio
  • Patent number: 8918768
    Abstract: A method and an apparatus for receiving a first source code having a code block to update the first source code with multiple copies of the code block to protect against correlation attacks are described. The code block can perform one or more operations for execution based on the first source code. The operations can be performed via a random one of the copies of the code block. A second source code based on the updated first source code can be generated to be executed by a processor to produce an identical result as the first source code.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: December 23, 2014
    Assignee: Apple Inc.
    Inventors: Benoit Chevallier-Mames, Mathieu Ciet, Thomas Icart, Bruno Kindarji, Augustin J. Farrugia
  • Patent number: 8918765
    Abstract: Methods and systems for providing a monitoring center with sensors that are inserted at one or more locations within an operating framework software engine. The sensors monitor the interpretive framework engine's process of loading commands, combining variables with coded commands, and executing commands with event processing, variable values, and user interactions. The sensors watch and gather information that has been deemed relevant by the monitoring center's configuration and pass that information to the center so that storage functions can route the information to the appropriate data storage locations. Alternatively, each sensor can be self-contained providing monitoring, gathering, processing, data transmission, and storage within the sensor.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: December 23, 2014
    Assignee: Libera, Inc.
    Inventors: Michael Dearman, Albert Cecchini
  • Patent number: 8914783
    Abstract: Example systems and methods to maintain process control systems are disclosed. A disclosed example method involves identifying at least one of an update or an upgrade applicable to a configuration of nodes of a process control system. Software is provided for download to the process control system. The software represents an update and/or upgrade. Metadata for the software indicating applicability of the software to one or more nodes of the process control system is also provided for download. Automated installation of the software to one or more nodes of the process control system is facilitated based on the metadata from a workstation in communication with the one or more nodes of the process control system.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: December 16, 2014
    Assignee: Fisher-Rosemount Systems, Inc.
    Inventor: Kim O Van Camp
  • Patent number: 8910125
    Abstract: Systems, methods and computer program products may provide monitoring of software performance on a computer. A method of monitoring software performance in a computer may include marking at least one of a load request and a store request, the marked request including an effective instruction address and an effective data address, recording the effective instruction and data addresses in a processor core and sending the marked request to a memory subsystem. The method may also include receiving a fabric response for the marked request, recording the fabric response in the core and tying the effective instruction and data addresses and the fabric response together in a sample.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Guy L Guthrie, Randall R Heisch, Venkat R Indukuru, Aaron C Sawdey