Method and apparatus for analyzing software in a language-independent manner
First Claim
1. A system for analyzing software being executed in a target system having a cache memory, a data bus and an address bus, the software containing a plurality of executable tag statements which, when executed, cause the target system to perform an operation outside of the cache memory, the tag statements containing respective tag values corresponding to locations in the software of the tag statements, the system comprising:
- a detector that detects the operation outside of the cache memory, the detector capturing a tag value of an executable tag statement when the detector detects the operation; and
a processor connected to the detector, the processor determining the software locations that have been executed based on the respective tag values of the captured tags.
7 Assignments
0 Petitions
Accused Products
Abstract
A software analysis system for capturing tags generated by tag statements in instrumented source code. The system includes a probe that monitors the address and data bus of the target system. When a tag statement is executed in the target system, a tag is written to a predetermined location in the address space of the target. The tag contains a tag value that is indicative of the location in the source code of the tag statement generating the tag. The source code instrumenter includes a language-dependent parser and a language-independent analyzer that records tagging data in a symbol database. The system performs a variety of analysis functions in essentially real time, including code coverage, function and task execution times, memory allocation, call pairs, and program tracing.
103 Citations
9 Claims
-
1. A system for analyzing software being executed in a target system having a cache memory, a data bus and an address bus, the software containing a plurality of executable tag statements which, when executed, cause the target system to perform an operation outside of the cache memory, the tag statements containing respective tag values corresponding to locations in the software of the tag statements, the system comprising:
-
a detector that detects the operation outside of the cache memory, the detector capturing a tag value of an executable tag statement when the detector detects the operation; and
a processor connected to the detector, the processor determining the software locations that have been executed based on the respective tag values of the captured tags. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of analyzing software being executed in a target system having a cache memory, a data bus and an address bus, the method comprising:
-
inserting a plurality of executable tag statements at locations in the software, each of the tag statements, when executed, causing the target system to execute an operation outside of the cache memory, the tag statements containing respective tag values corresponding to the locations in the software of the tag statements;
allowing the target system to execute the software;
monitoring execution of the operation outside the cache memory of the target system while the target system is executing the software and detecting when the operation has been executed;
capturing a tag by a detector when the operation has been executed; and
determining the software locations that have been executed based on the respective tag values of the captured tags. - View Dependent Claims (8, 9)
-
Specification