|
Real-time
Analysis support in Vitra and PathFinder
Ashling's
Vitra Networked Emulators and PathFinder Source Debugger
now include a set of powerful analysis and display functions for Software
Quality Assurance.
Call-Return
Trace and Timing Performance Analysis are included
in
- PathFinder-5500
Source Debugger for PowerPC MPC5500 series;
-
PathFinder-PPC
Source Debugger v1.0.7 and later, for PowerPC MPC56x series;
- PathFinder-PPC
Source Debugger v1.0.7 and later, for PowerPC MPC56x series;
-
PathFinder-ARM
Source Debugger v1.1.2 and later, for ARM7 and ARM9 cores.
CodeCoverage
Measurement is included in
Using the
Vitra Emulator's non-intrusive capture of real-time trace data, the PathFinder
Debugger displays performance analysis data in real-time while the target
systems is executing; it does not interrupt or slow-down execution in
any way, and it requires no target system resources.
Timing
Performance Analysis
The Trace
Timing Performance Analyzer window shows detailed timing information at
a function level for all captured code trace information in the Vitra
trace buffer. 
All occurrences
for the functions captured in the in the buffer are measured and their
timings are compared in the display.
The columns
in the display window show:
Name
Function name.
Maximum
Maximum recorded execution-time for this function.
Minimum
Minimum recorded execution-time for this function.
Average
Mean execution-time for this function, averaged over all recorded
occurrences.
Cumulative
Total execution time for this function, accumulated over all recorded
occurrences.
Count
Total number of recorded executions for this function.
All of the
graphs in the % columns are displayed relative to the largest
value for that column; for example, the function with the largest Maximum
execution time is shown as 100% and the maximum execution-time for
all others functions are shown as percentages of the largest.
The
Trace Timing Performance Analyzer is an invaluable tool for:
Optimization:
You can identify at-a-glance the most time-consuming functions in
your program; you can then focus on optimizing the code in these functions
to reduce your overall system execution-time or response-time.
Verification:
You can confirm that the Minimum, Maximum and Average execution-times
for each function confirm to the requirements of your specification.
System-integration:
You can identify 'trashing' or 'lockout' conditions, where your program
gets stuck in a repeated loop; 'runaway' functions (excessive executions);
Initialization functions that were executed more than once; or functions
that called themselves.
Execution
testing: You can identify functions that were or were
not executed during your test session.
Call-Return
Trace
The Call-Return
Trace window displays real-time execution of the program-under-test as
a sequence of high-level calls and returns.
l
The columns
in the display window show:
Frame
Position of this Call or Return Event in the Vitra Trace Buffer.
Timestamp
or Cycle-count Shows a Timestamp
(relative to the start of tracing) for this call/return event. (You can
select Timestamp or cycle-count in the Trace|Trace Window Display dialog).
Event
Type -> Indicates a function Entry; <- indicates
a function Exit
Address
Shows the code address of the function Entry or Exit event.
Symbol
Shows the Name of the function.
The Call-Return
Trace window shows you an exceptionally clear and easy-to-understand real-time
record of the sequence of function-calls in the program-under-test.
Code
Coverage Measurement
Code Coverage
displays all tested, untested and partially-tested source lines, function
and modules in the program under test. Summary and detailed reports are
provided on depth of code test coverage by function, module and program.
All unused or unreachable code fragments are identified. PathTrace Code
Coverage identifies branches that require additional test-cases so as
to progress towards 100% code test coverage.
l
Source lines
with a Green block marker show all Tested lines of code. Code Coverage
information is shown in both the Source and Disassembly (reverse-assembly)
windows. You can select any module, function or address range in your
program and view coverage statistics for that unit; you can save Code
Coverage data to disk after each test session and thus build up a test-history
over a wide range of test conditions and stimuli.
(last updated: 2:00pm PST Feb 16 2005)
|