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).
-
Publication number: 20180081782Abstract: 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: September 19, 2016Publication date: March 22, 2018Inventors: Michael S. Fulton, Kevin A. Stoodley
-
Publication number: 20180081792Abstract: 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: August 8, 2017Publication date: March 22, 2018Inventors: Michael S. Fulton, Kevin A. Stoodley
-
Patent number: 9910645Abstract: 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: November 5, 2015Date of Patent: March 6, 2018Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Publication number: 20180039569Abstract: 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: July 24, 2017Publication date: February 8, 2018Inventors: Steven Cooper, Michael S. Fulton
-
Publication number: 20180039568Abstract: 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: August 3, 2016Publication date: February 8, 2018Inventors: Steven Cooper, Michael S. Fulton
-
Patent number: 9805011Abstract: Techniques are described for facilitating editing of a large, remote file across a client-server architecture. In one example, a method includes outputting, for communication to a system hosting a remote file, in response to an initial user input to edit the remote file, a request for a portion of the remote file, wherein the portion of the remote file is specified to include a selected opening position. The method further includes receiving a client copy of the portion of the remote file. The client copy includes a range of pages from the remote file. The range of pages includes an opening position corresponding to the selected opening position. The client copy of the portion of the remote file is loaded in client memory. The method further includes performing a user edit incorporation process iteratively for respective pages in the client copy of the portion of the remote file.Type: GrantFiled: January 4, 2016Date of Patent: October 31, 2017Assignee: International Business Machines CorporationInventors: Michael S. Fulton, Brian W. Svihovec
-
Publication number: 20170262358Abstract: 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: ApplicationFiled: May 1, 2017Publication date: September 14, 2017Inventors: Michael S. Fulton, John R. MacMillan
-
Patent number: 9703690Abstract: 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: January 22, 2015Date of Patent: July 11, 2017Assignee: International Business Machines CorporationInventors: Michael S. Fulton, John R. MacMillan
-
Publication number: 20170192945Abstract: Techniques are described for facilitating editing of a large, remote file across a client-server architecture. In one example, a method includes outputting, for communication to a system hosting a remote file, in response to an initial user input to edit the remote file, a request for a portion of the remote file, wherein the portion of the remote file is specified to include a selected opening position. The method further includes receiving a client copy of the portion of the remote file. The client copy includes a range of pages from the remote file. The range of pages includes an opening position corresponding to the selected opening position. The client copy of the portion of the remote file is loaded in client memory. The method further includes performing a user edit incorporation process iteratively for respective pages in the client copy of the portion of the remote file.Type: ApplicationFiled: January 4, 2016Publication date: July 6, 2017Inventors: Michael S. Fulton, Brian W. Svihovec
-
Publication number: 20170132121Abstract: A portion is selected from a code for code coverage analysis. The portion is not directly referenceable by another portion of the code. An instruction is constructed to insert a code coverage breakpoint at the portion such that the code coverage analysis is performed only for the portion and the code coverage analysis of a remainder of the code is omitted. Using the instruction, a code coverage analysis tool is caused to execute the code without performing the code coverage analysis until the code coverage breakpoint. Responsive to the instruction, the code coverage analysis tool is further caused to end the code coverage analysis after the portion and resume executing the code without performing the code coverage analysis. A report of the code coverage analysis of the portion is produced.Type: ApplicationFiled: November 6, 2015Publication date: May 11, 2017Applicant: International Business Machines CorporationInventors: Steven Cooper, Michael S. Fulton
-
Publication number: 20170060550Abstract: 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: ApplicationFiled: August 28, 2015Publication date: March 2, 2017Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Publication number: 20170060547Abstract: 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: ApplicationFiled: November 5, 2015Publication date: March 2, 2017Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Publication number: 20170010906Abstract: 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: September 23, 2016Publication date: January 12, 2017Inventor: Michael S. Fulton
-
Patent number: 9489405Abstract: A method for implementing a geometric array in a computing environment is disclosed. In one embodiment, such a method includes providing an array of slots, where each slot is configured to store a pointer. Each pointer in the array points to a block of elements. Each pointer with the exception of the first pointer in the array points to a block of elements that is twice as large as the block of elements associated with the preceding pointer. Such a structure allows the geometric array to grow by simply adding a pointer to the array that points to a new block of elements that is twice as large as the block of elements associated with the preceding pointer in the array. A corresponding computer program product, as well as a method for accessing data in the geometric array, are also disclosed.Type: GrantFiled: June 25, 2011Date of Patent: November 8, 2016Assignee: International Business Machines CorporationInventor: Michael S. Fulton
-
Publication number: 20160283286Abstract: According to one embodiment of the present invention, a system for tracking control for computing tasks receives a reference to a control file specifying a computing task. The system submits the specified task for performance on a computing system in accordance with the control file and receives an identifier for the performance of the task. The system stores information associating the identifier and the reference, and, in response to receiving a request for information associated with the identifier, returns the associated reference. Embodiments of the present invention further include a method and computer program product for maintaining metadata for computing tasks in substantially the same manners described above.Type: ApplicationFiled: October 27, 2015Publication date: September 29, 2016Inventors: Venkatuday M. Balabhadrapatruni, Melvin E. Fowler, II, Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Publication number: 20160283285Abstract: According to one embodiment of the present invention, a system for tracking control for computing tasks receives a reference to a control file specifying a computing task. The system submits the specified task for performance on a computing system in accordance with the control file and receives an identifier for the performance of the task. The system stores information associating the identifier and the reference, and, in response to receiving a request for information associated with the identifier, returns the associated reference. Embodiments of the present invention further include a method and computer program product for maintaining metadata for computing tasks in substantially the same manners described above.Type: ApplicationFiled: March 23, 2015Publication date: September 29, 2016Inventors: Venkatuday M. Balabhadrapatruni, Melvin E. Fowler, II, Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
-
Publication number: 20160217061Abstract: 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: ApplicationFiled: January 22, 2015Publication date: July 28, 2016Inventors: Michael S. Fulton, John R. MacMillan
-
Patent number: 9043760Abstract: View definitions are created for deterministic performance analysis in real-time computing systems, and can then be used to present views for analyzing outliers that occur during run-time execution. Trace data created by a real-time application is compared to a set of view definitions to determine whether the trace data matches the view definition. If so, then related records from the trace are gathered according to specifications in the matched view definition, and calculations (such as elapsed time) can then be performed using the related records. A view definition may be created by prompting a user for selection of parameters to be programmatically inserted into a markup language document. A capability may be provided whereby a user can receive additional information (which is extracted from the trace data, according to specifications in the matched view definition) upon a user gesture such as hovering a selection means over a displayed view.Type: GrantFiled: May 8, 2012Date of Patent: May 26, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael S. Fulton, Shirish T. Shenvi Kuncolienkar
-
Publication number: 20130300744Abstract: View definitions are created for deterministic performance analysis in real-time computing systems, and can then be used to present views for analyzing outliers that occur during run-time execution. Trace data created by a real-time application is compared to a set of view definitions to determine whether the trace data matches the view definition. If so, then related records from the trace are gathered according to specifications in the matched view definition, and calculations (such as elapsed time) can then be performed using the related records. A view definition may be created by prompting a user for selection of parameters to be programmatically inserted into a markup language document. A capability may be provided whereby a user can receive additional information (which is extracted from the trace data, according to specifications in the matched view definition) upon a user gesture such as hovering a selection means over a displayed view.Type: ApplicationFiled: May 8, 2012Publication date: November 14, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael S. Fulton, Shirish T. Shenvi Kuncolienkar
-
Patent number: 8495102Abstract: The invention provides a method, system, and program product for organizing a database containing a plurality of objects based on a task list of a user. In one embodiment, the invention includes accessing a database containing a plurality of objects; defining at least one of the plurality of objects as included in a task list of a user; displaying the defined object(s); determining a time at which each defined object was last accessed by the user; modifying the display based on at least one determined value; and searching the modified display.Type: GrantFiled: September 1, 2006Date of Patent: July 23, 2013Assignee: International Business Machines CorporationInventor: Michael S. Fulton