Patents Assigned to Green Hills Software, Inc.
  • Publication number: 20120317551
    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: August 20, 2012
    Publication date: December 13, 2012
    Applicant: GREEN HILLS SOFTWARE, INC.
    Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher
  • 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: 20120284732
    Abstract: Methods and systems for scheduling applications on a multi-core processor are disclosed, which may be based on association of processor cores, application execution environments, and authorizations that permits efficient and practical means to utilize the simultaneous execution capabilities provided by multi-core processors. The algorithm may support definition and scheduling of variable associations between cores and applications (i.e., multiple associations can be defined so that the cores an application is scheduled on can vary over time as well as what other applications are also assigned to the same cores as part of an association). The algorithm may include specification and control of scheduling activities, permitting preservation of some execution capabilities of a multi-core processor for future growth, and permitting further evaluation of application requirements against the allocated execution capabilities.
    Type: Application
    Filed: May 2, 2012
    Publication date: November 8, 2012
    Applicant: GREEN HILLS SOFTWARE, INC
    Inventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
  • Patent number: 8266608
    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: Grant
    Filed: August 10, 2006
    Date of Patent: September 11, 2012
    Assignee: Green Hills Software, Inc.
    Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher
  • 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: 20090245137
    Abstract: At least one embodiment of the present invention provides a single High Availability virtual switching architecture that allows for sub convergence times in the event of a switch or switch link failure. In some instances, the High Availability architecture uses an adaptation of an ISIS protocol to leverage separation of topology calculation and propagation of network management configuration to achieve sub-second convergence.
    Type: Application
    Filed: March 3, 2009
    Publication date: October 1, 2009
    Applicant: Green Hills Software, Inc.
    Inventors: Susan K. Hares, Allan C. Rubens, Andrew Adams
  • Publication number: 20070006159
    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: August 10, 2006
    Publication date: January 4, 2007
    Applicant: Green Hills Software, Inc.
    Inventors: Daniel Hecht, Michael Lindahl, David Kleidermacher
  • Publication number: 20060277221
    Abstract: A file system provides access to data on a storage device so that, for a given volume on the device, read-only client partitions and a read-write client partition are presented with separate but related views of the file system state. Moreover, the read-only partitions do not interfere with each other and do not interfere with the read-write partition, while the read-write partition may delay the read-only partitions. Access to file system blocks is provided by way of separate virtualization trees for the read-only partitions and for the read-write partition. A reader tree represents a consistent (but older) file system state. A writer tree, which has a different root pointer from the reader tree and is partially stored in main memory, represents the state of in-progress file system transactions. When a set of file system transactions is committed, the writer tree root pointer is copied to the reader tree root pointer.
    Type: Application
    Filed: June 1, 2005
    Publication date: December 7, 2006
    Applicant: Green Hills Software, Inc.
    Inventors: Tom Zavisca, David Kleidermacher
  • Patent number: 5859963
    Abstract: A method for time use analysis of a higher level language program is performed by displaying source code lines in descending order according to the amount of time spent by the program to execute machine code into which the source code lines have been compiled. Source code lines are displayed arranged in order according to the percentages of the amounts of time spent in execution during runs of the program, and the higher percentages identified for optimizing actions. A digital processing apparatus for performing the analysis includes a display for showing the source code lines that require the most time of execution, a selection apparatus for selecting those source code lines having the greater opportunity for significant corrective action, and displaying the various selected source code lines in the order in which the lines are kept in the program along with the corresponding time spent by the program to execute machine code into which the source code lines have been compiled.
    Type: Grant
    Filed: October 18, 1995
    Date of Patent: January 12, 1999
    Assignee: Green Hills Software, Inc.
    Inventors: Daniel D. O'Dowd, David N. Kleidermacher