Patents by Inventor Neil Puthuff

Neil Puthuff 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: 9342437
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: May 17, 2016
    Assignee: GREEN HILLS SOFTWARE, INC.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8914777
    Abstract: A method and system debug a computer program by using trace data, which is a recording of the sequence of machine instructions executed by a program during a time period along with the addresses and values of memory locations accessed and modified by each machine instruction. After the time period, the method and system use the trace data to simulate the execution of the program during the time period under the control of a debugger. In addition, the method and system use the trace data to simulate the execution of the program during the time period backwards in time under the control of the debugger.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: December 16, 2014
    Assignee: Green Hills Software
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20140298301
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Application
    Filed: June 13, 2014
    Publication date: October 2, 2014
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8789023
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Grant
    Filed: March 7, 2012
    Date of Patent: July 22, 2014
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8776029
    Abstract: A method and system for creating uniquely representative execution path identifiers of software program. The method comprises the steps of running the software program, continuously accessing execution information of the software program, identifying execution sequences of the execution information, and creating a unique execution path identifier of each of the execution sequences by summing the execution information when the execution information is within a functional boundary thereof so as to create an execution path identifier representing a unique execution sequence of the execution information. The system comprises an execution path identification creator continuously receiving and accessing execution information of the software program, identifying execution sequences of the execution information and creating the unique execution path identifier of each of the execution sequences.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: July 8, 2014
    Assignee: Zerodee, Inc.
    Inventor: Neil Puthuff
  • Patent number: 8584097
    Abstract: A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed.
    Type: Grant
    Filed: February 13, 2012
    Date of Patent: November 12, 2013
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20120317550
    Abstract: A method and system debug a computer program by using trace data, which is a recording of the sequence of machine instructions executed by a program during a time period along with the addresses and values of memory locations accessed and modified by each machine instruction. After the time period, the method and system use the trace data to simulate the execution of the program during the time period under the control of a debugger. In addition, the method and system use the trace data to simulate the execution of the program during the time period backwards in time under the control of the debugger.
    Type: Application
    Filed: August 20, 2012
    Publication date: December 13, 2012
    Applicant: GREEN HILLS SOFTWARE, INC
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20120246622
    Abstract: A method and system for identifying behavioral uniqueness of software execution sequence. The method comprises the steps of executing a software program and continuously producing an execution sequence of execution information, determining if the execution information is within a functional boundary of the software program, and determining if the execution sequence of the execution information is a new execution sequence or a repeat execution sequence. The system comprises a functional boundary detector for continuously analyzing an execution information of a software program to determine if the execution information is within a functional boundary of said software program, and a comparator provided for determining if an execution sequence of the execution information is a new execution sequence or a repeat execution sequence and producing a unique detection signal if the new execution sequence is detected.
    Type: Application
    Filed: March 23, 2012
    Publication date: September 27, 2012
    Inventor: Neil PUTHUFF
  • Publication number: 20120246625
    Abstract: A method and system for creating uniquely representative execution path identifiers of software program. The method comprises the steps of running the software program, continuously accessing execution information of the software program, identifying execution sequences of the execution information, and creating a unique execution path identifier of each of the execution sequences by summing the execution information when the execution information is within a functional boundary thereof so as to create an execution path identifier representing a unique execution sequence of the execution information. The system comprises an execution path identification creator continuously receiving and accessing execution information of the software program, identifying execution sequences of the execution information and creating the unique execution path identifier of each of the execution sequences.
    Type: Application
    Filed: March 23, 2012
    Publication date: September 27, 2012
    Inventor: Neil PUTHUFF
  • Patent number: 8271955
    Abstract: A method and system debug a computer program by using trace data, which is a recording of the sequence of machine instructions executed by a program during a time period along with the addresses and values of memory locations accessed and modified by each machine instruction. After the time period, the method and system use the trace data to simulate the execution of the program during the time period under the control of a debugger. In addition, the method and system use the trace data to simulate the execution of the program during the time period backwards in time under the control of the debugger.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: September 18, 2012
    Assignee: Green Hille Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20120174077
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Application
    Filed: March 7, 2012
    Publication date: July 5, 2012
    Applicant: GREEN HILLS SOFTWARE, INC
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20120151451
    Abstract: A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed.
    Type: Application
    Filed: February 13, 2012
    Publication date: June 14, 2012
    Applicant: GREEN HILLS SOFTWARE, INC
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8136096
    Abstract: A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: March 13, 2012
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8132159
    Abstract: A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: March 6, 2012
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 8015552
    Abstract: A method of validating a testing procedure in a computer program is disclosed. A sequence of machine code instructions performed by a processor is recorded as trace data. Further, a mapping file is accessed. In addition, a source line is translated into a plurality of machine code instructions according to a mapping found in the mapping file. Accordingly, at least a portion of the trace data is searched through to determine whether each machine instruction in the plurality of machine instructions has been executed. An indication is displayed of whether any of the machine instructions in the plurality of machine instructions has been executed.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: September 6, 2011
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Patent number: 7653899
    Abstract: A method for finding an error in a computer program is disclosed. A sequence of machine instructions performed by a processor is recorded as trace data. A mapping file is accessed. A source code instruction is translated into a machine code instruction according to a mapping found in the mapping file. Further, at least a portion of the trace data is searched through until the machine code instruction is found. In addition, a first execution time of the machine code instruction is determined by reviewing the trace data in a first vicinity that an address of the machine code instruction is located. Further, a second execution time of the next machine code instruction is determined by reviewing the trace data in a second vicinity that an address of the next machine code instruction is located. Accordingly, performance data is calculated by subtracting the first execution time from the second execution time. The performance data is displayed.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: January 26, 2010
    Assignee: Green Hills Software, Inc.
    Inventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
  • Publication number: 20060190930
    Abstract: The invention is directed to instrumenting object code of an application and/or an operating system on a target machine so that execution trace data can be generated, collected, and subsequently analyzed for various purposes, such as debugging and performance. Automatic instrumentation may be performed on an application's object code before, during or after linking. A target machine's operating system's object code can be manually or automatically instrumented. By identifying address space switches and thread switches in the operating system's object code, instrumented code can be inserted at locations that enable the execution trace data to be generated. The instrumentation of the operating system and application can enable visibility of total system behavior by enabling generation of trace information sufficient to reconstruct address space switches and context switches.
    Type: Application
    Filed: February 18, 2005
    Publication date: August 24, 2006
    Inventors: Daniel Hecht, Michael Lindahl, David Kleidermacher, Gregory Davis, Neil Puthuff