Databases Reference
In-Depth Information
2.6 Comparing the Generated Models
The models generated with gkTail and KLFA represent the interplay be-
tween the ordering of the events and the values of the attributes (correspond-
ing to the interplay between method invocations and parameters in the cases
discussed in this paper). The models generated with gkTail and KLFA repre-
sent the ordering of events in the same way, as sequences of events accepted
by the automaton, but differ in the way they represent the attribute values:
gkTail represents the concrete values that can be assigned to attributes with
constraints, while KLFA represents how concrete values reoccur across differ-
ent events of a trace with symbols. For instance, the EFSA in Figure 2.10
correctly indicates that the attribute persons is a non-negative attribute;
while the FSA in Figure 2.12 correctly indicates that the attribute persons
has the same value every time it occurs, and such value is also the same as
the value of attribute seats . This information is different and complemental.
Ideally, this information could be integrated into a unique model that specifies
both the legal attribute values and how values are reused among events.
The choice of analyzing traces with either gkTail or KLFA mainly depends
on the aspect targeted by the analysis. For instance, if testers monitor inde-
pendent attributes, gkTail is probably the best choice because identifying the
legal concrete values is more important than identifying the recurrence of val-
ues. On the contrary, if testers monitor dependent variables, their recurrence
would be extremely relevant and thus KLFA is preferable.
We empirically validate both gkTail and KLFA with several case studies.
gkTail has been used to build models of the interactions between components
for 5 Java applications [19]. In such study, gkTail derived a total of 62 EFSAs,
out of which 33 (53%) include interactions that can be represented only by
exploiting constraints on attribute values. A manual comparison between the
models and the applications code highlighted that at least 21 (34%) of these
EFSAs represent non coincidental relations between attributes and event se-
quences. These results show that interactions frequently include behaviors
that need EFSAs rather than FSAs to be accurately represented.
KLFA has been used to identify failure causes from log files produced by
several applications, including well-known application servers such as Glassfish
and Tomcat [21]. The FSAs produced by KLFA have been extremely useful
to relate the events produced by application servers from the values of the
many attributes commonly recorded in log files. Incorporating the recurrence
of attribute values into FSAs, in addition to producing more accurate models,
has been necessary to identify 18 failure causes out of the 46 (39%) identified
failure causes. This result confirms the importance of considering attribute
values when building behavioral models.
In summary, these early empirical results show that both the models pro-
duced with gkTail and KLFA can be useful and the choice between the two
 
Search WWH ::




Custom Search