Patents Examined by Amir Soltanzadeh
  • Patent number: 10705814
    Abstract: Certain example embodiments relate to techniques for generating reassemblable disassemblies of binaries using declarative logic. A declarative logic programming language (e.g., Datalog) is used to compile reverse engineering, binary analysis, and disassembly rules into a format applicable to an executable program, yielding disassembly of that program. Datalog, for example, can be used as a query language for deductive databases, to facilitate this approach. Certain example embodiments thus involve (1) preparation of an executable for Datalog analysis, (2) inference rules and the application of Datalog for program analysis, including the application of Datalog to the domain of binary reverse engineering and analysis, and (3) the collection of assembly code from the results of the Datalog analysis. These rules can include both “hard rules” and “soft rules” or heuristics, even though standard Datalog does not support the latter.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: July 7, 2020
    Assignee: GRAMMATECH, INC.
    Inventors: Eric Michael Schulte, Antonio Enrique Flores Montoya
  • Patent number: 10698800
    Abstract: A fix defining fix defining a plurality of unique changes to a computer program can be identified. Program code units in the computer program changed by the unique changes are identified and corresponding data entries in a first data structure can be generated. A number of test cases available to test the program code units in the computer program changed by the unique changes can be determined by matching each of the program code units to corresponding data entries contained in a second data structure that correlates program code units to test cases. A test readiness index indicating a readiness of the fix to be tested can be automatically generated. The test readiness index can be based on a number of unique changes to the computer program defined by the fix and the number of test cases available to test the unique changes. The test readiness index can be output.
    Type: Grant
    Filed: October 27, 2018
    Date of Patent: June 30, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Adam C. Geheb, Prasanna R. Joshi, Apurva S. Patel
  • Patent number: 10698799
    Abstract: A fix defining at least one unique change to at least a portion of a computer program can be identified. The fix can be applied to the computer program to generate a test version of the computer program As each of the unique changes is applied, program code unites in the computer program changed can be identified. A number of test cases available to test the program code units changed can be determined by matching each of the program code units changed to corresponding data entries. A test readiness index indicating a readiness of the fix to be tested can be generated. The test readiness index can be based on a number of unique changes to the computer program defined by the fix and a number of test cases available to test the unique changes to the computer program defined by the fix. The test readiness index can be output.
    Type: Grant
    Filed: October 27, 2018
    Date of Patent: June 30, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Adam C. Geheb, Prasanna R. Joshi, Apurva S. Patel
  • Patent number: 10698793
    Abstract: One or more embodiments are described for function-message identifier oriented test case generation for seamlessly supporting continuous globalization verification testing in agile computer program product development. An example computer-implemented method includes identifying a newly added globalization function in a modified source code, the globalization function including a message to be output via a user-interface, the message being in a first language. The method also includes generating function-message data that associates a function identifier of the globalization function with a message identifier of the message. The method also includes generating, automatically, a test case for verifying the globalization function outputs the message via the user-interface in a second language using the function-message data. The method also includes creating and broadcasting a test report to a development team, the test report indicating a result of executing the test case.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: June 30, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Su Liu, Debbie Anglin, Fan Yang, Boyi Tzen
  • Patent number: 10691585
    Abstract: A system includes a memory system having computer readable instructions and one or more processors for executing the computer readable instructions. The computer readable instructions include identifying input characteristic subsets for a system under test based on an input schema, generating discrimination test cases including a combination of inputs for the system under test based on the input characteristic subsets, and performing a pruning operation to reduce a number of the discrimination test cases based on identifying a superset of input characteristics that includes at least one of the input characteristic subsets having a discrimination score above a threshold value.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: June 23, 2020
    Assignee: THE UNIVERSITY OF MASSACHUSETTS
    Inventors: Alexandra Meliou, Yuriy Brun
  • Patent number: 10684839
    Abstract: A plugin for a website browser can enable a user to deploy software onto a computing device quickly and easily. For example, the plugin can automatically detect that a user is visiting a website on which program code for a software application is shared or hosted. The website may be an open-source website, a program-code repository, or a program-code review platform. The plugin can automatically analyze the program code, an installation file provided with the program code, software and hardware characteristics of the specific computing device on which the software application is to be deployed, and other data to determine how to deploy the software application on the specific computing device. The plugin can then deploy the software application on the computing device in response to the user clicking a button, allowing for the software application to be easily deployed on the computing device with minimal user interaction or skill.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: June 16, 2020
    Assignee: Red Hat Israel, Ltd.
    Inventors: Boaz Shuster, Oded Ramraz
  • Patent number: 10678515
    Abstract: Techniques for simplifying and reusing visual programming graphs are described herein. In some examples, visual programming graphs may be simplified by decoupling execution signals from data resolution. Execution of a particular node may be triggered through a representation of a signal sent from a signal output slot of another node to a signal input slot on the node being triggered. Additionally, evaluation of data values may be represented by a connection between a data output slot on the node providing the data value to a data input slot on the node receiving the data value. Another technique for simplifying visual programming graphs may include combining and/or collapsing of multiple selected visual programming nodes into a single reusable visual programming node. In some examples, reusable combined visual programming nodes may be exposed using unlocked versions and/or locked versions.
    Type: Grant
    Filed: September 20, 2016
    Date of Patent: June 9, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Michael Edmonds, Luis René Sempé Sosa
  • Patent number: 10671359
    Abstract: A system and method for organizing and classifying existing applications so as to enable users to create new applications using the one or more parts of existing applications. The system is capable of automatically generating a large number of template applications which are fully designed, coded, and ready-to-use. The system also automatically expands its catalog of template applications and screen components, which are categorized based on a specified purpose, whenever a user creates a new application or screen with the same purpose. In this way a user can simply specify the purpose of what they want to create, and the system will provide a ranked list of possibilities based on the actions of other users, and automatic generation mechanisms.
    Type: Grant
    Filed: February 20, 2014
    Date of Patent: June 2, 2020
    Inventor: Raul Sanchez
  • Patent number: 10664378
    Abstract: A computer-implemented method is presented for visualizing a stack frame graph of software resources on a user interface of a computing device. The computer-implemented method includes determining a priority of each stack frame by employing a call stack analysis technique, selecting a most important frame from stack traces of a targeted application, and displaying, on the user interface, call stacks representing each frame.
    Type: Grant
    Filed: June 21, 2018
    Date of Patent: May 26, 2020
    Assignee: International Business Machines Corporation
    Inventors: Akio Oka, Rina Nakazawa, Hiroshi Horii
  • Patent number: 10649888
    Abstract: Disclosed herein are methods, systems, and processes to generate and perform parallelizable data-driven single instruction multiple data (SIMD) tests. A base abstract class that defines shared testing parameters for tests to be performed on an application is designated. Inheriting classes of the base abstract class are defined and a data source key is derived from the inhering classes. A test data source is accessed to perform the tests on the application and a result of tests is generated based on the data source key.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: May 12, 2020
    Assignee: Dell Products L.P.
    Inventor: Mykhailo Makarov
  • Patent number: 10649883
    Abstract: A method that supports multithreading/concurrent programming debugging includes the following steps: setting breakpoints of program sections of multithreading; converting the breakpoints into context switch points; executing a planned execution sequence of an interleaving execution path, to start a specified thread to execute a program section thereof till a first execution environment change point; clicking a next thread of the interleaving execution path one after another, and executing the clicked next thread till a next context switch point; and recording and storing the interleaving execution path.
    Type: Grant
    Filed: January 9, 2019
    Date of Patent: May 12, 2020
    Assignee: NATIONAL CENTRAL UNIVERSITY
    Inventors: Yung-Pin Cheng, Chuan Yang
  • Patent number: 10613847
    Abstract: An information handling system includes product lifecycle management circuitry and a management controller. The product lifecycle management circuitry receives an indication that a first firmware update package is to be demoted, starts a demotion process for the first firmware update package, and removes the first firmware update package from being available on an Internet website. The management controller extracts a first identifier for the first firmware update package, determines a first context in which the first firmware update package is being demoted, and publishes the first identifier and the first context in an exclusion catalog.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: April 7, 2020
    Assignee: Dell Products, L.P.
    Inventors: Santosh Hanamant Gore, Sujit Dagadu Jadhav, Raveendra Babu Madala
  • Patent number: 10592221
    Abstract: Systems, methods, and software described herein provide enhancements for initiating application services across a virtual environment. In one implementation, a method of deploying application services includes initiating configuration process for a first service and a second service across virtual nodes, wherein the first service is dependent on the availability of the second service. The method further includes holding the configuration of the first service, completing the configuration of the second service, and responsively transferring a notification from the virtual node or nodes of the second service to the virtual node or nodes of the first service, permitting the configuration of the first service to be completed.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: March 17, 2020
    Assignee: HEWLETT PACKARD ENTERPRESE DEVELOPMENT LP
    Inventors: Joel Baxter, Krishna C. Sagiraju, Shreyas Subramanya
  • Patent number: 10592273
    Abstract: A method and apparatus are provided in which a source and target perform bidirectional forwarding of traffic while a migration guest is being transferred from the source to the target. In some examples, the migration guest is exposed to the impending migration and takes an action in response. A virtual network programming controller informs other devices in the network of the change, such that those devices may communicate directly with the migration guest on the target host. According to some examples, an “other” virtual network device in communication with the controller and the target host facilitates the seamless migration. In such examples, the forwarding may be performed only until the other virtual machine receives an incoming packet from the target host, and then the other virtual machine resumes communication with the migration guest on the target host.
    Type: Grant
    Filed: March 16, 2018
    Date of Patent: March 17, 2020
    Assignee: Google LLC
    Inventors: Brian Matthew Fahs, Jinnah Dylan Hosein, Venkatesh Babu Chitlur Srinivasa, Guy Shefner, Roy Donald Bryant, Uday Ramakrishna Naik, Francis Edward Swiderski, III, Nan Hua
  • Patent number: 10579368
    Abstract: Distributed version control systems, methods, and computer-readable media are described. A computer system may implement a version control blockchain system by obtaining source code and/or an artifact associated with source code. The computer system may serialize the source code and/or the artifact to obtain serialized data, and may encipher the serialized data to obtain a current block identifier (cb_id). The computer system may generate a block to include the cb_id, and may add the generated block to the version control blockchain upon validation of the block. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: March 10, 2017
    Date of Patent: March 3, 2020
    Assignee: SALESFORCE.COM, INC.
    Inventor: Peter Wisnovsky
  • Patent number: 10572249
    Abstract: A software kit release managing program is provided. Upon execution of the program by a processor a manifest file corresponding to a build version of the software kit is generated and the manifest file is added to a code repository of a collaborative code development program. Progression of the build version of the software kit through a code testing pipeline having a plurality of pipeline stages is performed using the collaborative code development program. A corresponding method, apparatus and a system comprising the software kit release managing program and the collaborative code development program are also provided.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: February 25, 2020
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Gavin Brebner, Christopher James Grandinetti, Andrea Frittoli
  • Patent number: 10567316
    Abstract: Code creation and revision requires optimal error detection and correction and collaboration among programmers. One example method of operation may include receiving and processing a comment associated with a first user profile, identifying a context of the comment, identifying at least one previously submitted comment with a context that matches the context of the comment, retrieving the at least one previously submitted comment, identifying a second user profile associated with the previously submitted comment, and invoking a communication session and including the first user profile and the second use profile in the communication session.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: February 18, 2020
    Assignee: OPEN INVENTION NETWORK LLC
    Inventor: David Gerard Ledet
  • Patent number: 10552300
    Abstract: A process for testing a program includes: receiving a variable comprising a plurality of input values; producing a plurality of equivalence classes for the input values; producing a representative value per equivalence class; producing, by a processor, a primary covering array comprising a plurality of primary vectors; producing a secondary covering array comprising a plurality of secondary vectors; providing the secondary vectors to the program; and producing a result vector comprising a plurality of result entries to test the program. A computer system for testing the program includes: a memory; and a processor, in communication with the memory, wherein the computer system is configured to perform the process for testing the program. A computer program product for testing the program includes: a non-transitory computer readable storage medium readable by a processor and storing program code for execution by the processor to perform the process.
    Type: Grant
    Filed: February 9, 2016
    Date of Patent: February 4, 2020
    Assignee: UNITED STATES OF AMERICA, AS REPRESENTED BY THE SECRETARY OF COMMERCE
    Inventors: D. Richard Kuhn, Raghu N. Kacker
  • Patent number: 10545847
    Abstract: A method for assessing a quality of a plurality of changes to a plurality of source code is provided. The method may include receiving the plurality of source code for a software product, whereby the received plurality of source code includes the plurality of changes. The method may also include identifying at least one property associated with each of the plurality of changes within the received plurality of source code. The method may further include determining a confidence level for each of the plurality of changes based on the at least one identified property associated with each of the plurality of changes and a plurality of historical software build data. The method may also include assigning each of the plurality of changes to a build group based on the determined confidence level. The method may further include executing the build group in a software build.
    Type: Grant
    Filed: September 15, 2016
    Date of Patent: January 28, 2020
    Assignee: International Business Machines Corporation
    Inventors: Peter R. Broadbent, Roy Janssen, Ramon L. H. Pisters, Leendert P. Tange
  • Patent number: 10540269
    Abstract: Application developers may develop applications or portions of application that do not have a corresponding user interface. Testing non-user interface elements of an application may require application developers to develop corresponding user interface elements for all or a portion of the executable code included in the application. Developers may test non-user interface elements of an application or library by wrapping the executable code in a sample application managed by a test harness. The test harness may transmit test operations configured to test the non-user interface elements of the application to the sample application over an inter-process communication channel. The sample application may execute the test and return the results of the test to the test harness using inter-process communication methods.
    Type: Grant
    Filed: July 17, 2017
    Date of Patent: January 21, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Pavan Gundeti, Jesper Mikael Johansson, Daniel Wade Hitchcock