Patents Assigned to Green Hills Software, Inc.
-
Publication number: 20120317551Abstract: 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: ApplicationFiled: August 20, 2012Publication date: December 13, 2012Applicant: GREEN HILLS SOFTWARE, INC.Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher
-
Publication number: 20120317550Abstract: 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: ApplicationFiled: August 20, 2012Publication date: December 13, 2012Applicant: GREEN HILLS SOFTWARE, INCInventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
-
Publication number: 20120284732Abstract: 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: ApplicationFiled: May 2, 2012Publication date: November 8, 2012Applicant: GREEN HILLS SOFTWARE, INCInventors: Mark Anthony Griglock, Patrick John Huyck, Sidney Slay Ishee, James Anthony Gleason, Richard Andrew Erich, Mathew Lowell Aamold
-
Patent number: 8266608Abstract: 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: GrantFiled: August 10, 2006Date of Patent: September 11, 2012Assignee: Green Hills Software, Inc.Inventors: Daniel Michael Hecht, Michael Lindahl, David Kleidermacher
-
Publication number: 20120174077Abstract: 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: ApplicationFiled: March 7, 2012Publication date: July 5, 2012Applicant: GREEN HILLS SOFTWARE, INCInventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
-
Publication number: 20120151451Abstract: 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: ApplicationFiled: February 13, 2012Publication date: June 14, 2012Applicant: GREEN HILLS SOFTWARE, INCInventors: Michael Lindahl, Andre Yew, Mallory Morgan Green, II, Michael Johnson, Allan Craig Franklin, Daniel O'Dowd, Neil Puthuff
-
Patent number: 8136096Abstract: 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: GrantFiled: July 23, 2004Date of Patent: March 13, 2012Assignee: 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: 8132159Abstract: 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: GrantFiled: July 23, 2004Date of Patent: March 6, 2012Assignee: 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: 8015552Abstract: 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: GrantFiled: July 23, 2004Date of Patent: September 6, 2011Assignee: 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: 7653899Abstract: 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: GrantFiled: July 23, 2004Date of Patent: January 26, 2010Assignee: 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: 20090245137Abstract: 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: ApplicationFiled: March 3, 2009Publication date: October 1, 2009Applicant: Green Hills Software, Inc.Inventors: Susan K. Hares, Allan C. Rubens, Andrew Adams
-
Publication number: 20070006159Abstract: 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: ApplicationFiled: August 10, 2006Publication date: January 4, 2007Applicant: Green Hills Software, Inc.Inventors: Daniel Hecht, Michael Lindahl, David Kleidermacher
-
Publication number: 20060277221Abstract: 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: ApplicationFiled: June 1, 2005Publication date: December 7, 2006Applicant: Green Hills Software, Inc.Inventors: Tom Zavisca, David Kleidermacher
-
Patent number: 5859963Abstract: 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: GrantFiled: October 18, 1995Date of Patent: January 12, 1999Assignee: Green Hills Software, Inc.Inventors: Daniel D. O'Dowd, David N. Kleidermacher