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: 12008386Abstract: 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: GrantFiled: November 30, 2019Date of Patent: June 11, 2024Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Michael S. Fulton
-
Patent number: 11294803Abstract: 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: GrantFiled: August 7, 2017Date of Patent: April 5, 2022Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Francisco M. Anaya, Tom C. L. Chen, Michael S. Fulton, Trong Truong
-
Patent number: 11294802Abstract: 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: GrantFiled: November 8, 2016Date of Patent: April 5, 2022Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Francisco M. Anaya, Tom C. L. Chen, Michael S. Fulton, Trong Truong
-
Publication number: 20200104143Abstract: 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: ApplicationFiled: November 30, 2019Publication date: April 2, 2020Inventor: Michael S. Fulton
-
Patent number: 10528363Abstract: 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: GrantFiled: September 23, 2016Date of Patent: January 7, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Michael S. Fulton
-
Patent number: 10417112Abstract: 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: GrantFiled: September 19, 2016Date of Patent: September 17, 2019Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Kevin A. Stoodley
-
Patent number: 10198345Abstract: 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: GrantFiled: May 2, 2018Date of Patent: February 5, 2019Assignee: International Business Machines CorporationInventors: Steven Cooper, Michael S. Fulton
-
Patent number: 10176083Abstract: 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: GrantFiled: January 22, 2018Date of Patent: January 8, 2019Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Kevin A. Stoodley
-
Patent number: 10169212Abstract: 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: GrantFiled: January 22, 2018Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Kevin A. Stoodley
-
Patent number: 10120664Abstract: 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: GrantFiled: August 28, 2015Date of Patent: November 6, 2018Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Patent number: 10120784Abstract: 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: GrantFiled: May 2, 2018Date of Patent: November 6, 2018Assignee: International Business Machines CorporationInventors: Steven Cooper, Michael S. Fulton
-
Patent number: 10120783Abstract: 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: GrantFiled: May 1, 2017Date of Patent: November 6, 2018Assignee: International Business Machines CorporationInventors: Michael S. Fulton, John R. MacMillan
-
Publication number: 20180225196Abstract: 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: ApplicationFiled: May 2, 2018Publication date: August 9, 2018Inventors: Steven Cooper, Michael S. Fulton
-
Publication number: 20180225197Abstract: 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: ApplicationFiled: May 2, 2018Publication date: August 9, 2018Inventors: Steven Cooper, Michael S. Fulton
-
Patent number: 9996452Abstract: 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: GrantFiled: July 24, 2017Date of Patent: June 12, 2018Assignee: International Business Machines CorporationInventors: Steven Cooper, Michael S. Fulton
-
Patent number: 9990272Abstract: 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: GrantFiled: August 3, 2016Date of Patent: June 5, 2018Assignee: International Business Machines CorporationInventors: Steven Cooper, Michael S. Fulton
-
Publication number: 20180129597Abstract: 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: ApplicationFiled: August 7, 2017Publication date: May 10, 2018Inventors: Francisco M. Anaya, Tom C.L. Chen, Michael S. Fulton, Trong Truong
-
Publication number: 20180129591Abstract: 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: ApplicationFiled: January 22, 2018Publication date: May 10, 2018Inventors: Michael S. Fulton, Kevin A. Stoodley
-
Publication number: 20180129596Abstract: 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: ApplicationFiled: November 8, 2016Publication date: May 10, 2018Inventors: Francisco M. Anaya, Tom C.L. Chen, Michael S. Fulton, Trong Truong
-
Publication number: 20180121334Abstract: 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: ApplicationFiled: January 22, 2018Publication date: May 3, 2018Inventors: Michael S. Fulton, Kevin A. Stoodley