Patents Examined by Wei Zhen
  • Patent number: 10055329
    Abstract: A computer implemented method of detecting code antipatterns, comprising: 1) Receiving a code containing one or more of a plurality of code segments, each one of the one or more code segments includes one or more of a plurality of patterns. 2) Automatically analyzing each one of the one or more code segment to create an array of a plurality of features vectors, each one of the plurality of features vectors maps a plurality of predefined features found in one or more patterns. 3) Matching each one of the plurality of features vectors with a plurality of template features vectors each representing one of a plurality of antipatterns, the plurality of template features vectors is stored in an antipatterns dataset. 4) Determining a presence or an absence of each of the plurality of antipatterns within each of the one or more code segments according to the matching.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: August 21, 2018
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Omer Tripp
  • Patent number: 10055256
    Abstract: A processor includes a front end and a scheduler. The front end includes circuitry to determine whether to apply an acyclical or cyclical thread assignment scheme to code received at the processor, and to, based upon a determined thread assignment scheme, assign code to a static logical thread and to a rotating logical thread. The scheduler includes circuitry to assign the static logical thread to the same physical thread upon a subsequent control flow execution of the static logical thread, and to assign the rotating logical thread to different physical threads upon different executions of instructions in the rotating logical thread.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: August 21, 2018
    Assignee: Intel Corporation
    Inventors: Sebastian Winkel, Ethan Schuchman, Tyler Sondag, Girish Venkatasubramanian
  • Patent number: 10049031
    Abstract: Embodiments of the invention provide for the correlation of violating change sets during regression testing of a computer program. A method of the invention includes annotating a test case with a reference to logical operations of different programmatic objects of a computer program. Thereafter, change sets are applied to the program and the test case is executed by a development environment such as a debugger to a point of failure. It is then determined from the annotations change sets related to the logical operations and different ones of the determined change sets are sequentially replaced and the test case repeatedly re-executed. As such, the ones of the replaced change sets resulting in failure from re-execution of the test case are determined to be violating change sets.
    Type: Grant
    Filed: December 9, 2014
    Date of Patent: August 14, 2018
    Assignee: International Business Machines Corporation
    Inventors: Corville O. Allen, Albert A. Chung, Andrew R. Freed, Richard A. Salmon, Eric Woods
  • Patent number: 10050797
    Abstract: A debugging system may display snapshot information that may be collected in response to an event identified while an application executes. The debugging system may allow a user to browse the various data elements in the snapshot, and may allow the user to modify a snapshot configuration by including or excluding various data elements within the snapshot data. The user interface may have a mechanism for including or excluding data elements that may be presented during browsing, as well as options to change the events that may trigger a snapshot. The updated snapshot configuration may be saved for future execution when the event conditions are satisfied.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: August 14, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Charles D. Garrett, Alexander G. Gounares
  • Patent number: 10042745
    Abstract: Method and apparatus for enhancing an executable is disclosed herein. In one embodiment, the method includes instrumenting an executable with additional program code to detect run-time errors, and while running the instrumented executable within a debug environment generating the run-time errors detected by the additional program code, upon reaching a breakpoint, identifying any of the run-time errors which occurred while executing a function in which the breakpoint is located, and transmitting an indication of the identified run-time errors to the debugging environment.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 10037201
    Abstract: A secure live media boot system includes a BIOS that is coupled to a storage subsystem and a non-volatile memory system. The BIOS receives an operating system image. Prior to installing an operating system on a computing device using with the operating system image, the BIOS performs a first measurement action on the operating system image to produce a first operating system measurement that it stores in the non-volatile memory system. The BIOS also stores a read-only version of the operating system image on the storage subsystem. The BIOS subsequently receives a request to install the operating system on the computing device and, in response, performs a second measurement action on the operating system image in order to produce a second operating system measurement. If the BIOS determines that the second operating system measurement matches the first operating system measurement, the BIOS installs the operating system on the computing device.
    Type: Grant
    Filed: February 26, 2016
    Date of Patent: July 31, 2018
    Assignee: Dell Products L.P.
    Inventor: Dirie N. Herzi
  • Patent number: 10037265
    Abstract: Method and apparatus for enhancing an executable is disclosed herein. In one embodiment, the method includes instrumenting an executable with additional program code to detect run-time errors, and while running the instrumented executable within a debug environment generating the run-time errors detected by the additional program code, upon reaching a breakpoint, identifying any of the run-time errors which occurred while executing a function in which the breakpoint is located, and transmitting an indication of the identified run-time errors to the debugging environment.
    Type: Grant
    Filed: August 4, 2015
    Date of Patent: July 31, 2018
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 10037263
    Abstract: Various aspects described herein are directed to a method and a system that implement end-to-end automation of software services. A set of test cases may be identified from existing test cases or determined anew for a software system. Virtual test results may be generated at least by executing the set of test cases in parallel on a virtual time or date. The virtual test results may then be used to validate or verify the behaviors of the software system. The virtual time or date is then advanced to the next virtual time or date by a temporal period until a stopping criterion is satisfied.
    Type: Grant
    Filed: July 27, 2016
    Date of Patent: July 31, 2018
    Assignee: INTUIT INC.
    Inventors: Linda Maureen Kegley, Evan Hang, Zeeshan Ahmad Anwar, Maneesha Ashok Godhwani
  • Patent number: 10031735
    Abstract: A method of securely deploying an application in a cloud computing platform includes receiving component composition files that define configurations of application components included the application, and receiving an application composition file that defines a connection scheme between the application components. The method further includes retrieving default component configuration files that satisfy requirements of the application components. The method further includes executing functions corresponding to extension keywords included in the component composition files to modify default parameters in the default component configuration files, and deploying the application in the cloud computing platform based on the modified default component configuration files and the connection scheme defined by the application composition file.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: July 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salman A. Baset, Imani N. Palmer
  • Patent number: 10031742
    Abstract: An interface hardware of a device suspends processing of frames from a receive queue maintained by a firmware stored in the memory of the interface hardware. New firmware is loaded for the interface hardware, in response to the suspending of the processing of frames from the receive queue, and in response to receiving at least one command subsequent to loading of a new driver software for a driver of the device. The processing of frames from the receive queue is resumed, in response to the loading of the new firmware.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: July 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roger G. Hathorn, Steven E. Klein, Mikel W. Welsh
  • Patent number: 10031745
    Abstract: Aspects of the present invention generally relate to a system, method, and computer program product for transforming APIs from legacy system-of-record to new system-of-engagement using complete API process logic. API candidates are generated from execution traces for transforming the API from the legacy system to a new system of record. An embodiment of the invention is first, add implementers into a legacy systems and collect the instrumenter output as execution traces. Second, rank the execution traces and find the most frequent execution traces. Third, consolidate the execution traces by merging common trace segments. The codes covered by the consolidated execution traces will be considered as candidate API components. Fourth, expand the merged execution traces and find related execution traces and check the connectivity between different nodes.
    Type: Grant
    Filed: February 2, 2016
    Date of Patent: July 24, 2018
    Assignee: International Business Machines Corporation
    Inventors: Hao Chen, Ya Bin Dang, Shao Chun Li, Guang Tai Liang, Li Jun Mei, Zhenyu Zhang
  • Patent number: 10031741
    Abstract: Processing of frames from a receive queue maintained by a port firmware of an embedded port of a host bus adapter is suspended via a request from a driver of the host bus adapter. New driver software is loaded for the host bus adapter and new port firmware is loaded in the embedded port, in response to the suspending of the processing of frames from the receive queue. The processing of frames from the receive queue is resumed via another request from the driver of the host bus adapter, in response to the loading of the new driver software and the new port firmware.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: July 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roger G. Hathorn, Steven E. Klein, Mikel W. Welsh
  • Patent number: 10031744
    Abstract: The present invention provides an incremental upgrade method, an apparatus applying the method and a storage medium.
    Type: Grant
    Filed: August 28, 2013
    Date of Patent: July 24, 2018
    Assignee: GUANGZHOU UCWEB COMPUTER TECHNOLOGY CO., LTD
    Inventors: Jie Liang, Yongfu Yu, Xiaopeng He, Shunyan Zhu, Hao Huang, Weixin Xu, Fangzhu Fu
  • Patent number: 10025573
    Abstract: Methods and systems to install a player to process content data are disclosed. In some embodiments, a method includes launching a content access manager on a user device to read metadata containing compatible player data, determine whether a compatible player able to access the content data is installed on the user device, and if not, to install a compatible player. Other embodiments involve receiving content data and data about one or more compatible players able to access the content data, generating the metadata using the data about one or more compatible players, and distributing the content data, the metadata, and the content access manager in a transmittable unit. Additional apparatus, systems, and methods are disclosed.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: July 17, 2018
    Assignee: Adobe Systems Incorporated
    Inventors: Thangaraj Umapathy, Richard Teo, Sudharshan Somasundaram, Kapil Raja Durga, Akshava G, Raghuram C G, Shyam Rajagopalan, Mihir Gore, Mandeep Singh, Hemantha Sharma, Priyesh Kumar
  • Patent number: 10025583
    Abstract: One embodiment provides a method of determining a revised firmware upgrade plan for one or more devices, said method including: utilizing at least one processor to execute computer code that performs the steps of: selecting, in view of a predetermined change window and risk associated with the firmware upgrade plan, a firmware upgrade plan; detecting a failure during execution of the firmware upgrade plan; and responsive to the detecting, identifying a revised firmware upgrade plan based on time remaining in the predetermined change window and risk associated with the revised firmware upgrade plan. Other aspects are described and claimed.
    Type: Grant
    Filed: February 17, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Eric Kevin Butler, Thomas D. Griffin, Steven P. Gronefeld, Divyesh Jadav, William Anthony Sherrill, Aameek Singh
  • Patent number: 10025697
    Abstract: A method, computer program product, and computer system for receiving, by a computing device, a selection of one or more files for which to have one or more automated unit tests generated for an application under test. An action in the application under test is received while the application under test is used. Behavior data of how the application under test responds to the action is tracked, wherein tracking is performed by inserting observer code using aspect oriented programming method, which tracks each method's interaction with its own objects and objects that are passed to it. An automated unit test of the one or more automated unit tests is generated for underlying code of the application under test invoked when receiving the action based upon, at least in part, the behavior data of how the application under test responds to the action.
    Type: Grant
    Filed: May 23, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Bernadette A. Carter, Pratyush Dhruv, Corrie Hy Kwan, Robert Retchless, Lauren J. Hayward Schaefer, Cesar A. Wong
  • Patent number: 10025696
    Abstract: A system for equivalence class analysis-based automated requirements-based test case generation includes a control processor, a data store containing textual design requirements, a textual converter unit structured to convert the textual design requirements to a machine-readable version of design requirements, a requirement partition unit configured to partition the machine-readable design requirements into one or more sets of related design requirements, an equivalence class partition unit configured to process the machine-readable design requirements and input/output variables into a set of equivalence classes, an equivalence class analyzer unit structured to analyze the set of equivalence classes to generate equivalence class tests and identify uncovered input space, and a boundary class analyzer unit structured to identify boundaries of the equivalence classes and generate boundary value tests and robustness tests.
    Type: Grant
    Filed: February 9, 2016
    Date of Patent: July 17, 2018
    Assignee: GENERAL ELECTRIC COMPANY
    Inventors: Panagiotis Manolios, Meng Li, Italo Oliveira, Augusto Marasca De Conto
  • Patent number: 10025602
    Abstract: This application discloses a computing system configured to perform a pre-linked embedding process during build-time of a root-kernel application. The computing system can pre-link one or more dynamically-linkable executable modules against exported symbols of a root-kernel image, and embed the pre-linked executable modules into the root-kernel image. The computing system can load the root-kernel image having the embedded pre-linked executable modules into a memory of an embedded system, wherein at least one processing device in the embedded system is configured to execute the embedded pre-linked executable modules directly from the memory.
    Type: Grant
    Filed: June 3, 2015
    Date of Patent: July 17, 2018
    Assignee: Mentor Graphics Corporation
    Inventor: Irfan Ahmad
  • Patent number: 10025585
    Abstract: Embodiments of the present invention disclose a method, computer program product, and system for applying a plurality of program patch sets on a plurality of computer programs. Virtual machines are prepared to be patchable, in response to a suspended computer program. Synchronized snapshots of the virtual machines are created. A plurality of binary code sections of each of the synchronized snapshots are determined. Symbol data information of each of the synchronized snapshots are analyzed, based on the program patch sets. The determined binary code sections are replaced with a set of patch data, based on the plurality of program patch sets, resulting in patched snapshots for each of the synchronized snapshots. Dependencies of the patch data are adjusted, based on the replaced plurality of binary code sections and the execution of the computer program on each of the virtual machines are resumed using the plurality of patched snapshots.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jakob C. Lang, Angel Nunez Mencias, Thomas Pohl, Martin Troester
  • Patent number: 10025582
    Abstract: Embodiments of the present invention disclose a method, computer program product, and system for applying a plurality of program patch sets on a plurality of computer programs. Virtual machines are prepared to be patchable, in response to a suspended computer program. Synchronized snapshots of the virtual machines are created. A plurality of binary code sections of each of the synchronized snapshots are determined. Symbol data information of each of the synchronized snapshots are analyzed, based on the program patch sets. The determined binary code sections are replaced with a set of patch data, based on the plurality of program patch sets, resulting in patched snapshots for each of the synchronized snapshots. Dependencies of the patch data are adjusted, based on the replaced plurality of binary code sections and the execution of the computer program on each of the virtual machines are resumed using the plurality of patched snapshots.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jakob C. Lang, Angel Nunez Mencias, Thomas Pohl, Martin Troester