Databases Reference
In-Depth Information
1.6 Mining Sequence Diagrams
In this section, we describe past studies mining sequence diagrams.
Briand et al. extract a UML sequence diagram from execution traces [10].
A UML sequence diagram contains lifelines corresponding to objects, and
messages corresponding to method calls between these objects. They propose
a framework to instrument a distributed system via an aspect-oriented lan-
guage (i.e., AspectJ). Running an instrumented program would produce a
trace. The collected traces are then analyzed to form a sequence diagram that
could capture the caller, callee, and method signature information. In addi-
tion, branching points and loops in the trace would also be represented in the
extracted sequence diagram.
Lo et al. extract modal sequence diagrams [48]. Such modal sequence di-
agram is represented as Live Sequence Charts (LSCs) [16]. An LSC is com-
posed of a prechart and a mainchart. It could express a constraint: \Whenever
the pre-chart is satised, the post-chart would eventually be satised." Both
the pre- and post-charts are sequence diagrams capturing caller, callee, and
method signature information. Mined LSCs could be used as input to a run-
time verification tool to find for anomalies.
Sousa et al. extract implied scenarios from execution traces [17]. Their
approach starts with trace collection with each trace corresponding to an
execution of a scenario. The collected traces are later filtered to distill the
method calls that are relevant to the scenario and remove irrelevant ones.
Based on this set of scenarios, their approach infers implied scenarios that
are not present in the original set. The final set of scenarios is output and
presented to the user.
In [42], Lo and Maoz extend the initial work on mining Live Sequence
Charts published in [48]. The work introduces the concept of triggers and ef-
fects. The task is: Given a trigger, mine all significant effects. Similarly, given
an effect, find all significant triggers. Thus users could help in directing the
specification miner by providing a trigger or an effect. The resultant speci-
fication mining process could reduce both the runtime cost and the number
of mined specifications. Only specifications related to the trigger or effect of
interest would be mined.
In [43], Lo and Maoz further extend the work in [48]. They focus on the
semantics of symbolic Live Sequence Charts. Symbolic LSCs have symbolic
lifelines. A symbolic lifeline specifies a set of objects of a particular type or
class. The work in [48] only approximates the symbolic LSCs by aggregating
all frequent object-level/concrete LSCs in which all lifelines correspond to
concrete objects. However it could be the case that a symbolic LSC is frequent
while the corresponding object level LSCs are not. In this case, the work in [48]
would miss the symbolic LSCs. This issue is addressed in [43].
In [44], Lo and Maoz introduce the concept of hierarchical specification
 
Search WWH ::




Custom Search