Databases Reference
In-Depth Information
state-of-the-art. We have shown, however, that by targeting simple proper-
ties that can be eciently discovered and by using approximation inference
techniques along with heuristics for pruning the set of inferred properties, it
is possible to obtain useful results even for programs as large and complex as
JBoss and Windows.
Limitations. Our approach, being a dynamic analysis, shares the limita-
tions of any dynamic analysis. In particular, most real systems have an infinite
number of execution paths. It is impossible to execute such a system on all
of its paths. Dynamic analysis only examines a subset of all paths of a target
program and might produce results that are false for some paths. Therefore
manual or machine validation is required before they can be used as specifica-
tions. In addition, dynamic analysis needs to instrument a target program to
observe its behaviors. This instrumentation can affect the normal behavior of
a target program. The extra computation introduced by the instrumentation
might cause a thread in a real-time system to miss its deadline. The extra
memory used by the instrumentation might affect cache locality. Hence, dy-
namic analysis is impractical to analyze properties that can be affected by the
instrumentation.
Our approach uses a set of pre-defined property templates. This limits
the properties that can be inferred to those that can be expressed using these
templates. Even though we can introduce a new template to express new prop-
erties, a new template will also introduce many uninteresting properties that
require new heuristics to filter. Developing a good heuristic for distinguishing
interesting properties from uninteresting ones requires much effort and may
not always be possible. Without a good heuristic, inferred properties can be
useless if the density of interesting properties is very low. Furthermore, if a
new template is complex (i.e., templates with many parameters), it might be
very inecient to infer properties that satisfy it.
To reduce the effort required to analyze the inference results, our approach
relies heavily on the effectiveness of heuristics for selecting interesting prop-
erties. The effort required to analyze the remaining properties after applying
the heuristics sometimes can still be quite high even for users familiar with
the target system. In addition, heuristics, no matter how good they are, can
mis-classify interesting properties as uninteresting ones. Therefore, interesting
properties may be missing in the final results.
One of our assumptions is that a target program is well tested and ex-
hibits desirable specifications most of the time. To tolerate imperfection in
the traces, our technique uses a very simple statistical approach. Even though
our experimental results show that this assumption is valid for typical real
systems, our approach can hardly be applicable to systems that do not satisfy
this assumption.
Summary. We have presented a dynamic analysis approach for inferring
interesting temporal properties. Through experiments on several real systems,
we have shown that our approach is scalable, effective, and useful in aiding
a variety of software development activities. There are many exciting oppor-
 
Search WWH ::




Custom Search