Databases Reference
In-Depth Information
mining. Given a hierarchical structure, they mine a set of specifications at a
certain abstraction level of interest. The resultant mined patterns could be
zoomed-in or zoomed-out by expanding or collapsing lifelines of interest. It
helps users by mining specifications at the right abstraction level. If more
information is needed, the mined specification could be zoomed in. If there is
too much information, the mined specification could be zoomed out. Thus, it
provides an interactive mining experience to the user.
In [45], Lo and Maoz incorporate mining value-based invariants to mining
Live Sequence Charts. They introduce the concept of scenario-based slicing.
A set of scenarios is first mined. For a desired scenario of interest, slices of
program traces that satisfy the scenario are extracted. These slices are fed
to a value-based invariant miner, namely, Daikon [24], to produce a set of
invariants. These invariants are then incorporated to the mined LSC of in-
terest. Thus the work could capture both temporal ordering constraints and
value-based invariants from execution traces.
1.7 Conclusion
Specification mining corresponds to the inference of models in various for-
mats from programs either from code or execution traces or even natural
language documents. Mined specifications are useful for various software en-
gineering activities. These include program comprehension, software mainte-
nance, bug finding, and test cases generation.
Categorizing based on the type of specification formalisms that were
mined, the work on specification mining could be grouped into these mining:
finite state machines, value-based invariants, patterns/rules, and sequence di-
agrams. More than 50 papers have been published on specification mining and
we have surveyed many of them in this chapter.
In the following chapters, various works are discussed in more detail. We
focus particularly on specification mining works that extract finite state ma-
chines and patterns/rules. The book covers approaches employing static anal-
ysis, dynamic analysis, and even the combination of the two.
 
Search WWH ::




Custom Search