Patents by Inventor Michael S. Fulton

Michael S. Fulton 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: 11294802
    Abstract: A test suite is executed to test a computer program for a plurality of variables. A variable value is generated for each variable of the plurality of variables at a predetermined location of the computer program. Whether a test included in the test suite is successful is determined. If the test is successful, the variable value is recorded as part of a success value set. If the test is not successful, the variable value is recorded as part of a failure value set. A confidence metric is calculated for the variable value. A relevance metric for each variable of the plurality of variables is measured, based on a Jaccard distance between the success value set and the failure value set. The failure value set, the success value set, the confidence metric for the variable value, and the relevance metric for each variable of the plurality of variables are presented.
    Type: Grant
    Filed: November 8, 2016
    Date of Patent: April 5, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Francisco M. Anaya, Tom C. L. Chen, Michael S. Fulton, Trong Truong
  • Patent number: 11294803
    Abstract: A test suite is executed to test a computer program for a plurality of variables. A variable value is generated for each variable of the plurality of variables at a predetermined location of the computer program. Whether a test included in the test suite is successful is determined. If the test is successful, the variable value is recorded as part of a success value set. If the test is not successful, the variable value is recorded as part of a failure value set. A confidence metric is calculated for the variable value. A relevance metric for each variable of the plurality of variables is measured, based on a Jaccard distance between the success value set and the failure value set. The failure value set, the success value set, the confidence metric for the variable value, and the relevance metric for each variable of the plurality of variables are presented.
    Type: Grant
    Filed: August 7, 2017
    Date of Patent: April 5, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Francisco M. Anaya, Tom C. L. Chen, Michael S. Fulton, Trong Truong
  • Publication number: 20200104143
    Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.
    Type: Application
    Filed: November 30, 2019
    Publication date: April 2, 2020
    Inventor: Michael S. Fulton
  • Patent number: 10528363
    Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: January 7, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael S. Fulton
  • Patent number: 10417112
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: September 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Patent number: 10198345
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Grant
    Filed: May 2, 2018
    Date of Patent: February 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Steven Cooper, Michael S. Fulton
  • Patent number: 10176083
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Patent number: 10169212
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Patent number: 10120664
    Abstract: A computer-implemented method includes receiving a set of complete source instructions to process a source code entity, an incremental build part, and a set of file definitions. The method analyzes the set of complete source instructions. The method identifies, from the set of analyzed source instructions, a set of operations that reference the incremental build subset. The method repeats: (i) determining, for each operation, whether any additional files are affected by the operation, the additional files forming a set of affected files; (ii) creating a combined set of files, the combined set of files consisting of the set of affected files and the incremental build subset; and (iii) updating the set of operations to include those from the analyzed source instructions that reference the combined set of files; until no new files are added to the combined set of files. The method generates a set of incremental source instructions.
    Type: Grant
    Filed: August 28, 2015
    Date of Patent: November 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Patent number: 10120783
    Abstract: A computer-implemented method, computer program product, and system is provided for determining test case efficiency. In an implementation, a method may include determining each code unit executed by a test case in a test suite including a plurality of test cases, wherein a product-under-test includes a plurality of code units. The method may also include determining an execution time for the test case. The method may further include calculating an efficiency rating of the test case based upon, at least in part, a number of code units executed by the test case and the execution time for the test case.
    Type: Grant
    Filed: May 1, 2017
    Date of Patent: November 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, John R. MacMillan
  • Patent number: 10120784
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Grant
    Filed: May 2, 2018
    Date of Patent: November 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Steven Cooper, Michael S. Fulton
  • Publication number: 20180225197
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Application
    Filed: May 2, 2018
    Publication date: August 9, 2018
    Inventors: Steven Cooper, Michael S. Fulton
  • Publication number: 20180225196
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Application
    Filed: May 2, 2018
    Publication date: August 9, 2018
    Inventors: Steven Cooper, Michael S. Fulton
  • Patent number: 9996452
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Grant
    Filed: July 24, 2017
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Steven Cooper, Michael S. Fulton
  • Patent number: 9990272
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems to increase code coverage. Embodiments of the present invention can receive a copy of source code and data associated with a sample execution of a set of instructions specified by the copy of the source code. Embodiments of the present invention can insert, into the set of instructions specified by the copy of the source code, an instruction that corresponds to a code statement that precedes an untraversed code path within the received copy of the source code. Embodiments of the present invention can execute the set of instructions that include the inserted instruction and provide an option to redirect execution of the set of instructions at the inserted instruction. Embodiments of the present invention can generate a test case that increases code coverage based on the redirected execution of the set of instructions.
    Type: Grant
    Filed: August 3, 2016
    Date of Patent: June 5, 2018
    Assignee: International Business Machines Corporation
    Inventors: Steven Cooper, Michael S. Fulton
  • Publication number: 20180129597
    Abstract: A test suite is executed to test a computer program for a plurality of variables. A variable value is generated for each variable of the plurality of variables at a predetermined location of the computer program. Whether a test included in the test suite is successful is determined. If the test is successful, the variable value is recorded as part of a success value set. If the test is not successful, the variable value is recorded as part of a failure value set. A confidence metric is calculated for the variable value. A relevance metric for each variable of the plurality of variables is measured, based on a Jaccard distance between the success value set and the failure value set. The failure value set, the success value set, the confidence metric for the variable value, and the relevance metric for each variable of the plurality of variables are presented.
    Type: Application
    Filed: August 7, 2017
    Publication date: May 10, 2018
    Inventors: Francisco M. Anaya, Tom C.L. Chen, Michael S. Fulton, Trong Truong
  • Publication number: 20180129591
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Application
    Filed: January 22, 2018
    Publication date: May 10, 2018
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Publication number: 20180129596
    Abstract: A test suite is executed to test a computer program for a plurality of variables. A variable value is generated for each variable of the plurality of variables at a predetermined location of the computer program. Whether a test included in the test suite is successful is determined. If the test is successful, the variable value is recorded as part of a success value set. If the test is not successful, the variable value is recorded as part of a failure value set. A confidence metric is calculated for the variable value. A relevance metric for each variable of the plurality of variables is measured, based on a Jaccard distance between the success value set and the failure value set. The failure value set, the success value set, the confidence metric for the variable value, and the relevance metric for each variable of the plurality of variables are presented.
    Type: Application
    Filed: November 8, 2016
    Publication date: May 10, 2018
    Inventors: Francisco M. Anaya, Tom C.L. Chen, Michael S. Fulton, Trong Truong
  • Publication number: 20180121334
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Application
    Filed: January 22, 2018
    Publication date: May 3, 2018
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Patent number: 9934133
    Abstract: In an approach for utilizing overlay hooks to increase code coverage, a processor inserts an overlay hook in program code at a location within the program code corresponding to a condition statement. A processor executes the program code. Upon reaching the overlay hook, a processor branches to a set of instructions operative to document an outcome of the condition statement. A processor executes the condition statement. A processor records the outcome of the condition statement.
    Type: Grant
    Filed: August 8, 2017
    Date of Patent: April 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Kevin A. Stoodley