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: 20180081782
    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: September 19, 2016
    Publication date: March 22, 2018
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Publication number: 20180081792
    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: August 8, 2017
    Publication date: March 22, 2018
    Inventors: Michael S. Fulton, Kevin A. Stoodley
  • Patent number: 9910645
    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: November 5, 2015
    Date of Patent: March 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Publication number: 20180039569
    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: July 24, 2017
    Publication date: February 8, 2018
    Inventors: Steven Cooper, Michael S. Fulton
  • Publication number: 20180039568
    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: August 3, 2016
    Publication date: February 8, 2018
    Inventors: Steven Cooper, Michael S. Fulton
  • Patent number: 9805011
    Abstract: 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: Grant
    Filed: January 4, 2016
    Date of Patent: October 31, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, Brian W. Svihovec
  • Publication number: 20170262358
    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: Application
    Filed: May 1, 2017
    Publication date: September 14, 2017
    Inventors: Michael S. Fulton, John R. MacMillan
  • Patent number: 9703690
    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: January 22, 2015
    Date of Patent: July 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Fulton, John R. MacMillan
  • Publication number: 20170192945
    Abstract: 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: Application
    Filed: January 4, 2016
    Publication date: July 6, 2017
    Inventors: Michael S. Fulton, Brian W. Svihovec
  • Publication number: 20170132121
    Abstract: 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: Application
    Filed: November 6, 2015
    Publication date: May 11, 2017
    Applicant: International Business Machines Corporation
    Inventors: Steven Cooper, Michael S. Fulton
  • Publication number: 20170060550
    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: Application
    Filed: August 28, 2015
    Publication date: March 2, 2017
    Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Publication number: 20170060547
    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: Application
    Filed: November 5, 2015
    Publication date: March 2, 2017
    Inventors: Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Publication number: 20170010906
    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: September 23, 2016
    Publication date: January 12, 2017
    Inventor: Michael S. Fulton
  • Patent number: 9489405
    Abstract: 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: Grant
    Filed: June 25, 2011
    Date of Patent: November 8, 2016
    Assignee: International Business Machines Corporation
    Inventor: Michael S. Fulton
  • Publication number: 20160283286
    Abstract: 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: Application
    Filed: October 27, 2015
    Publication date: September 29, 2016
    Inventors: Venkatuday M. Balabhadrapatruni, Melvin E. Fowler, II, Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Publication number: 20160283285
    Abstract: 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: Application
    Filed: March 23, 2015
    Publication date: September 29, 2016
    Inventors: Venkatuday M. Balabhadrapatruni, Melvin E. Fowler, II, Michael S. Fulton, Gary I. Mazo, Brian W. Svihovec
  • Publication number: 20160217061
    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: Application
    Filed: January 22, 2015
    Publication date: July 28, 2016
    Inventors: Michael S. Fulton, John R. MacMillan
  • Patent number: 9043760
    Abstract: 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: Grant
    Filed: May 8, 2012
    Date of Patent: May 26, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael S. Fulton, Shirish T. Shenvi Kuncolienkar
  • Publication number: 20130300744
    Abstract: 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: Application
    Filed: May 8, 2012
    Publication date: November 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael S. Fulton, Shirish T. Shenvi Kuncolienkar
  • Patent number: 8495102
    Abstract: 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: Grant
    Filed: September 1, 2006
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Michael S. Fulton