Information Technology Reference
In-Depth Information
Establish data-write triggers for identified
memory addresses and record triggered
events over the execution of the program
in a test run.
future trendS
This section discusses emerging and future
technological trends in the behavioral analysis
of systems.
Ensure that the appropriate sequence of take
lock, access memory (N times), release lock,
is followed.
increased focus on Synergies
between Static and dynamic
analysis techniques and tools
Of course, because this type of profiling is
dynamic, the properties can only be ensured for
the states the program entered during the test.
Since there is no single approach to system pro-
filing that addresses every need, we believe that
the most effective approach is to use a combina-
tion of static and dynamic analysis to provide a
more complete picture of system behavior. Static
analysis can be used to explore all possible paths
of execution and statistically proportion their
execution likelihood. Likewise, dynamic analysis
can be used to collect more precise information
for concrete instances of a program execution.
New tools and techniques are needed, however,
that strategically combine static and dynamic
analysis, and that partition the system into well-
defined “behavioral containers.” As an example
of such tools, work by Artho and Biere (2005)
has developed generic analysis algorithms that
can be applied in either a static or dynamic
context. This solution has been demonstrated
within the context of software fault detection,
whereby faults identified through static analysis
are subsequently verified by actual execution and
dynamic analysis.
Summary of hardware-based
Profiling Techniques
Hardware profiling is typically reserved for
embedded and safety-critical system where un-
derstanding and ensuring system behavior is of
utmost im portance. Although hardware profiling
can be relatively costly, it offers the following ad-
vantages over software profiling solutions:
Nonintrusive data collection. Behavioral
data can be collected with little or no impact
on normal execution of the target system.
Support for fine-grained data collection.
High frequency data can be precisely col-
lected at speeds commensurate with proces-
sor/bus clock speeds.
Off-chip inspection capability. Elements of
behavior, such as bus and cache interconnect
activity, that do not propagate directly into
a general-purpose CPU, can be inspected.
greater emphasis on probabilistic
assurance of dynamic System
behavior
Hardware profiling is particularly advanta-
geous for analyzing certain types of system
behavior (such as memory cache hits/misses) that
are not easily inspected through software means.
Nevertheless, while hardware profiling excels at
inspec tion of fine-grained system events, deriving
higher-level measures can be harder. For example,
using a hard ware pro filer to determine the level
of concurrency in a system would be hard.
Even when static and dynamic analysis techniques
are combined, certain behavioral properties of
large-scale dynamic software systems are still
hard to measure and assure precisely, including
absence of deadlock and livelock conditions,
effective parallelism, and worst-case execution
time. These properties can often be assured to a
Search WWH ::




Custom Search