Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
First Claim
1. A system for analyzing a software program executing on a target system, the target system accessing a predetermined memory location and applying tags to the data bus of the target system, each of the tags having a tag type and tag data when an executable tag statement instrumented in the software program is executed, the system comprising:
- a tag detection circuit coupled to an address bus of the target system to detect access of the predetermined memory location, and generate in response thereto a detection signal indicative of emission of a tag by the target system;
a trace filter coupled to the tag detection circuit and the data bus of the target system to capture one of the tags in response to receiving the detection signal, the trace filter having a decoder circuit to decode the tag type of the captured tag, and a comparator circuit coupled to the decoder circuit to receive the tag type and determine whether the captured tag is collectable according to filtering criteria, wherein the trace filter is adapted to implement a filter table for storing the filtering criteria, the filter table having a list of tag types and associated collection flags indicating that the respective tag type is collectable when set; and
a collection device coupled to the trace filter and structured to collect the tag data of collectable tags.
23 Assignments
0 Petitions
Accused Products
Abstract
A software analysis system having a filter for selectively collecting tags generated by a target system during execution of a software program under analysis in accordance to a programmable filtering criteria. The system includes a decoder for decoding the tag type of the tags captured from the data bus of the target system, and a comparator for comparing the tag types to the programmable filtering criteria to determine whether the tag should be collected. The programmable filtering criteria may be programmed by collecting filter tags from the target system, or directly programmed by a software developer using a filtering user interface. The programmable filtering criteria is implemented by a filter table that stores a flag associated with each tag type. The flag is indicative of whether tag data of a respective tag type should be collected. Tag data of the tag types meeting the programmable filtering criteria have timestamp information appended to the tag data and are collected in a tag buffer.
-
Citations
19 Claims
-
1. A system for analyzing a software program executing on a target system, the target system accessing a predetermined memory location and applying tags to the data bus of the target system, each of the tags having a tag type and tag data when an executable tag statement instrumented in the software program is executed, the system comprising:
-
a tag detection circuit coupled to an address bus of the target system to detect access of the predetermined memory location, and generate in response thereto a detection signal indicative of emission of a tag by the target system;
a trace filter coupled to the tag detection circuit and the data bus of the target system to capture one of the tags in response to receiving the detection signal, the trace filter having a decoder circuit to decode the tag type of the captured tag, and a comparator circuit coupled to the decoder circuit to receive the tag type and determine whether the captured tag is collectable according to filtering criteria, wherein the trace filter is adapted to implement a filter table for storing the filtering criteria, the filter table having a list of tag types and associated collection flags indicating that the respective tag type is collectable when set; and
a collection device coupled to the trace filter and structured to collect the tag data of collectable tags. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for analyzing a software program executing on a target system, the target system generating tags having a tag type and tag data in response to executing tag statements presents in the software program, the system comprising:
-
a probe coupled to a data bus of the target system;
a trace buffer coupled to the probe to capture tags generated by the target system, the trace buffer comprising;
a decoder coupled to the data bus through the probe to decode the tag type of the captured tags;
a tag filter coupled to the decoder to filter out non-collectable tag types and collect the tag data of collectable tag types in accordance to a programmable filtering criteria, wherein the programmable filtering criteria is implemented by a filter table having a collection flag associated with each tag type, the collection flag indicative of whether the respective tag type is collectable; and
a buffer coupled to the tag filter to store the collected tag data; and
a processor coupled to the trace buffer to process the collected tag data. - View Dependent Claims (9)
-
-
10. A system for analyzing software executing in a target system, the target system emitting tags having a tag type and tag data when an executable tag statement instrumented in the software program is executed, the system comprising:
-
a detection means detecting tags emitted from the target system;
a tag filtering means filtering the emitted tags according to a filtering criteria;
a collecting means collecting tags satisfying the filtering criteria;
a processing means processing the collected tags; and
wherein the tag filtering means includes a programmable means to program the filtering criteria and the programmable means comprises a filter tag collected by the collecting means, the filter tag having tag data reprogramming the filtering criteria in accordance with the tag data of the filter tag. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for analyzing software executing in a target system, the target system generating tags having a tag type and tag data when an executable tag statement instrumented in the software program is executed, the method comprising:
-
detecting tags generated by the target system;
filtering the detected tags according to a programmable filtering criteria;
collecting tags satisfying the programmable filtering criteria; and
reprogramming the programmable filtering criteria, wherein reprogramming the programmable filtering criteria comprises collecting a filter tag and setting a collection flag for the tag types in accordance with the tag data of the filter tag. - View Dependent Claims (16, 17, 18, 19)
-
Specification