Patents by Inventor ANDREW C.M. HICKS

ANDREW C.M. HICKS has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11176026
    Abstract: A method for assigning test case priority includes analyzing, based on a set of test vectors, one or more test cases from a set of test cases on source code to determine a particular combination of attribute values associated with the one or more analyzed test cases. The method further includes generating a priority value for each attribute in the determined particular combination of attribute values. A priority value for each of the analyzed one or more test cases is generated based on the generated priority values of the particular combination of attribute values associated with the analyzed one or more test cases.
    Type: Grant
    Filed: February 20, 2020
    Date of Patent: November 16, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew C. M. Hicks, Ryan Thomas Rawlins, Dale E. Blue, Brian Mo
  • Patent number: 11169869
    Abstract: Techniques for system kernel error identification and reporting for a computer system are described herein. An aspect includes detecting an error during the execution of a program. Another aspect includes determining whether the error is a system kernel error in the program. Another aspect includes, based on determining that the error is a system kernel error, generating a report regarding the determined system kernel error.
    Type: Grant
    Filed: July 8, 2020
    Date of Patent: November 9, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Page Kasper, Gregg Arquero, Diane Marie Stamboni, Joshua David Steen, Bryan Childs, Thomas William Conti, Andrew C. M. Hicks
  • Patent number: 11157268
    Abstract: Aspects of the invention include receiving, by a processor, a request to copy a code from a source file and receiving, by the processor, a request to paste the code into a destination file. Aspects also include creating, by the processor based at least in part on the request to paste the code, an entry in a database, the entry having an identification of the source file, an identification of the destination file, a location of the code in the source file, and a location of the code in the destination file.
    Type: Grant
    Filed: January 23, 2020
    Date of Patent: October 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew C. M. Hicks, Michael Terrence Cohoon, Ryan Thomas Rawlins, Michael E. Gildein
  • Publication number: 20210326243
    Abstract: A computer-implemented method for testing a system under test (SUT) in an active environment includes generating multiple test cases. The method further includes executing, by the testing system, a first set of test cases from those generated, and determining a test case that failed. Further a code path that is exercised by the test case is detected, the code path having a defect. The method further includes identifying, by the testing system, a second set of test cases from the test cases that are generated, wherein each test case from the second set of test cases has not been executed and exercises the code path that is identified. The method further includes reordering, by the testing system, at runtime, the test cases to omit execution of the second set of test cases.
    Type: Application
    Filed: April 16, 2020
    Publication date: October 21, 2021
    Inventors: ANDREW C. M. HICKS, DEBORAH A. FURMAN, RYAN THOMAS RAWLINS
  • Publication number: 20210312046
    Abstract: Embodiments are described for detecting ransomware attacks. Aspects include receiving a memory access request for a memory location. Aspects also include allowing the memory access request based on a determination that the memory location is not present in a decoy address table. Aspects further include terminating a process that made the memory access request based on a determination that the memory location is present in the decoy address table.
    Type: Application
    Filed: April 3, 2020
    Publication date: October 7, 2021
    Inventors: ANDREW C. M. HICKS, MICHAEL PETER LYONS, MILES C. PEDRONE, TYNAN J. GARRETT
  • Publication number: 20210311730
    Abstract: A method of analyzing code is provided. The method includes generating an abstract representation of the code, identifying conditional statements in the abstract representation, populating a truth table for each conditional statement that has been identified with all possible outcomes of the conditional statement and assessing the truth table for each conditional statement to identify issues.
    Type: Application
    Filed: April 7, 2020
    Publication date: October 7, 2021
    Inventors: Andrew C. M. Hicks, Michael E. Gildein, Daniel Nicolas Gisolfi
  • Patent number: 11132286
    Abstract: A computer-implemented method for testing a system under test (SUT) in an active environment includes generating multiple test cases. The method further includes executing, by the testing system, a first set of test cases from those generated, and determining a test case that failed. Further a code path that is exercised by the test case is detected, the code path having a defect. The method further includes identifying, by the testing system, a second set of test cases from the test cases that are generated, wherein each test case from the second set of test cases has not been executed and exercises the code path that is identified. The method further includes reordering, by the testing system, at runtime, the test cases to omit execution of the second set of test cases.
    Type: Grant
    Filed: April 16, 2020
    Date of Patent: September 28, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew C. M. Hicks, Deborah A. Furman, Ryan Thomas Rawlins
  • Patent number: 11132273
    Abstract: Inputs to a system under test (SUT) are modeled as a collection of attribute-value pairs. A set of testcases is executed using an initial set of test vectors that provides complete n-wise coverage of the attribute-value pairs. For each execution of the testcases, for each attribute-value pair, a non-binary success rate (SAV) is computed based on the binary execution results. An attribute is selected in response to a set of success rates corresponding to a set of attribute-value pairs that includes said attribute are all below a predetermined threshold. The set of testcases is executed using another set of test vectors using additional values for the selected attribute. For each execution of the set of testcases, for each attribute-value pair, a second non-binary success rate (SAV?) is recorded. If the predetermined threshold is now satisfied, a user is notified of the additional values for the attribute that were detected.
    Type: Grant
    Filed: December 15, 2020
    Date of Patent: September 28, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew C. M. Hicks, Kevin Minerley, Dale E. Blue, Ryan Thomas Rawlins, Daniel Nicolas Gisolfi
  • Publication number: 20210294735
    Abstract: Aspects of the invention include executing a first test case on a system, capturing a first state of the system during execution of the first test case, determining a first result of the first test case, performing a second execution of the first test case on the system in response to the first result of the first test case being an unexpected result, capturing a second state of the system during the second execution of the first test case, determining a second result of the first test case, analyzing the first state and the second state to determine a state similarity score, and categorizing the first result as a false positive based at least in part on the state similarity score being above a first threshold and a determination that the second result is a different result than the first result.
    Type: Application
    Filed: March 23, 2020
    Publication date: September 23, 2021
    Inventors: Andrew C. M. Hicks, Diane Marie Stamboni, Joshua David Steen, Gregg Arquero, Thomas William Conti, Michael Page Kasper
  • Publication number: 20210286710
    Abstract: A method for testing a system under test (SUT) in an active environment includes generating, by a testing system, a set of tests for testing the SUT, the tests generated based on a coverage model of the SUT, wherein the coverage model uses several attributes. The method further includes creating, by the testing system, a minimal set of tests from the generated tests by selecting tests for a disjoint set of attributes from the several attributes of the coverage model. The method further includes executing, by the testing system, the minimal set of tests on the SUT for analyzing a soft failure of the SUT in the active environment, wherein the soft failure occurs in the active environment during execution of the SUT based at least in part on a parameter of the active environment.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, Dale E. Blue
  • Publication number: 20210286714
    Abstract: A method for testing a system under test (SUT) in an active environment to identify cause of a soft failure includes recording a first difference vector by executing a set of test cases on a baseline system and monitoring performance parameters of the baseline system before and after executing the test cases. Each performance record represents differences in the performance parameters of the baseline system from before and after the execution of a corresponding test case. The method further includes, similarly, recording a second difference vector by executing the test cases on the SUT and monitoring performance parameters of the SUT before and after executing the test cases. The method further includes identifying an outlier performance record from the second difference vector by comparing the difference vectors and further, determining a root cause of the soft failure by analyzing a test case corresponding to the outlier.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, Ryan Thomas Rawlins, Dale E. Blue, Jacob Thomas Snyder
  • Publication number: 20210286704
    Abstract: Techniques for runtime metrics based test ordering in a computer system are described herein. An aspect includes determining a first runtime metric associated with a first module based on the execution of a first test case. Another aspect includes determining a second runtime metric associated with a second module based on the execution of a second test case. Another aspect includes comparing the first runtime metric and the second runtime metric. Another aspect includes determining an order of a plurality of test cases based on the comparison of the first runtime metric and the second runtime metric. Another aspect includes executing the plurality of test cases in the determined order.
    Type: Application
    Filed: March 10, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, Deborah A. Furman
  • Publication number: 20210286713
    Abstract: A method for testing a system under test (SUT) in an active environment includes generating, by a testing system, several tests for testing the SUT. The tests are generated based on a coverage model of the SUT, which includes multiple attributes. The method further includes creating, by the testing system, a minimal set of tests from the tests by selecting tests that do not exceed a predetermined performance threshold. The method further includes executing, by the testing system, the minimal set of tests on the SUT for analyzing a soft failure of the SUT in the active environment. The soft failure occurs in the active environment during execution of the SUT based at least in part on a performance parameter of the active environment.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, Dale E. Blue, Jacob Thomas Snyder
  • Publication number: 20210286711
    Abstract: A method for testing a system under test (SUT) in an active environment includes receiving, by a testing system, a code path of the SUT that causes a soft failure in the active environment. The soft failure occurs in the active environment during execution of the SUT based at least on a parameter of the active environment. The method further includes generating, by the testing system, multiple tests for testing the SUT, the tests generated based on a coverage model of the SUT, wherein the coverage model uses several attributes. The method further includes selecting, by the testing system, from the generated tests, a set of tests that are associated with the code path. The method further includes executing, by the testing system, only the set of tests that are selected on the SUT to analyze a cause of the soft failure.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, Dale E. Blue, Kevin Minerley
  • Publication number: 20210286712
    Abstract: A method for testing a system under test (SUT) in an active environment includes executing, by the testing system, on the SUT, a test from a set of tests. The method further includes, monitoring a first execution time to complete the test on the SUT in the active environment. Based on the first execution time being different than a second execution time of the test, marking, by the testing system, a code path associated with the test. The second execution time is a duration to complete execution of the test on the SUT in a clean execution environment. The method further includes communicating, by the testing system, the code path for analyzing a soft failure of the SUT in the active environment, wherein the soft failure occurs in the active environment during execution of the SUT based at least on a parameter of the active environment.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, Dale E. Blue, Kevin Minerley
  • Patent number: 11113167
    Abstract: Inputs to a system under test (SUT) are modeled as a collection of attribute-value pairs. A set of testcases is executed using a set of test vectors that provides complete n-wise coverage of the attribute-value pairs. For each execution of the testcases, updating, for each execution of the set of testcases, for each testcase, a non-binary success rate (ST) based on the binary execution results. In response to a first success rate corresponding to a particular testcase being below a predetermined threshold, a second set of testcases is generated based on the test vectors. For each testcase, a second success rate (ST?) is computed based on a second set of execution results of a second set of testcases. In response to the second success rate corresponding to the particular testcase being substantially same as the first success rate, a user is notified of a defect in modeling the SUT inputs.
    Type: Grant
    Filed: December 15, 2020
    Date of Patent: September 7, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew C. M. Hicks, Daniel Nicolas Gisolfi, Dale E. Blue, Ryan Thomas Rawlins
  • Publication number: 20210271592
    Abstract: A method for detecting and localizing a fault in a system under test (SUT) includes generating an initial set of test vectors that provides complete n-wise coverage of the reduced test space. The method further includes generating and executing an initial set of test cases to obtain a first set of execution results. The method further includes determining, based at least in part on the first set of execution results, that one or more test cases failed execution. The method further includes generating a set of new test cases from a selected failing test case. The method further includes executing the set of new test cases to obtain a second set of execution results. The method further includes detecting and localizing the fault based at least in part on the second set of execution results.
    Type: Application
    Filed: February 28, 2020
    Publication date: September 2, 2021
    Inventors: ANDREW C. M. HICKS, RYAN THOMAS RAWLINS, DEBORAH A. FURMAN, MICHAEL E. GILDEIN
  • Publication number: 20210263841
    Abstract: According to one or more embodiments of the present invention, a computer-implemented method for machine code analysis includes executing a set of test cases associated with a software product. The method further includes determining a failing test case, from the set of test cases. The method further includes identifying a portion of a machine code of the software product, the portion of the machine code corresponding to the failing test case. The method further includes analyzing the portion of the machine code to identify a pattern of machine code causing the failing test case to fail. The method further includes searching the machine code of the software product to find the identified pattern of machine code.
    Type: Application
    Filed: February 20, 2020
    Publication date: August 26, 2021
    Inventors: BRIAN MO, ANDREW C. M. HICKS, RYAN THOMAS RAWLINS, DALE E. BLUE
  • Publication number: 20210263837
    Abstract: A computer-implemented method for test case priority selection includes initiating execution of a set of test cases associated with a system under test. Further, the set of test cases are executed according to a first order of execution, and during the execution, at runtime a failing test case, from the set of test cases is determined. Further, at runtime, from the set of test cases, a subset of test cases that are not yet executed is identified. Further, at runtime, a priority value is assigned to each test case from the subset of test cases, the priority value based on a similarity of the test case with the failing test case. Further, at runtime, the set of test cases is reorganized to execute the subset of test cases in a second order of execution based on priority values that are assigned.
    Type: Application
    Filed: February 20, 2020
    Publication date: August 26, 2021
    Inventors: ANDREW C. M. HICKS, RYAN THOMAS RAWLINS, DALE E. BLUE, BRIAN MO
  • Publication number: 20210263838
    Abstract: A method for assigning test case priority includes analyzing, based on a set of test vectors, one or more test cases from a set of test cases on source code to determine a particular combination of attribute values associated with the one or more analyzed test cases. The method further includes generating a priority value for each attribute in the determined particular combination of attribute values. A priority value for each of the analyzed one or more test cases is generated based on the generated priority values of the particular combination of attribute values associated with the analyzed one or more test cases.
    Type: Application
    Filed: February 20, 2020
    Publication date: August 26, 2021
    Inventors: Andrew C. M. Hicks, RYAN THOMAS RAWLINS, DALE E. BLUE, BRIAN MO