Brief Description of Matching
<rulebasematching>: Includes forward rules and backward
<forwardRule> : Forward
rules are inferred change-rules from the old version to the new version
rules are inferred change-rules from the new version to the old
<transformation_rule> has a unique rule id,
“ruleID.id.” Each rule
has the following children nodes:
<scopedisjunction> list a set of <scope>
<scope> is a set of method-headers in the domain (the old
version in forward matching, and the new version in backward matching).
Scope is expressed as a wild-card expression of
has a set of positive matches and a set of negative matches. Please
read my ICSE 2007 paper for the definition of positive matches and
<positiveMatches> has a <listpairs> child,
which lists a set of method-header level pairs from the domain to
<exceptionMatches> has a <listpairs> child,
which lists a set of method-header level pairs.
<forwardMatches> has a
<setpairs> child, which describes a set of method-header
level matches from the old version to the new verison.
<backwardMatches> has a
<setpairs> child, which describe a set of method-header
level matches from the new version to the old version.
<left> node is a
method-header in the old version. Its attribute describe which
change-rules explain that particular method-header’s
<right> node is a
method-header in the new version.
Frequently Asked Questions
> I have three questions regarding the format of your data.
> In your jFreeChart results, what is the difference between
> earlyExitmatching.xml and seedXsmatching.xml (I figured out
> parts of the naming convention).
matching.xml - this matching result is generated by a seed
generation method described in the paper.
earlyExistmatching.xml - this matching result is generated by a
different seed generation method.
seedXsmatching.xml - this matching result is generated by
using Xing and Stroulia's results as seed matches.
> Regarding the XML format, what is the meaning of SQ71% in:
SQ means Seed Quality. It is a basically seed similarity measure.
> Finally, what is the meaning of the <left> and
<right> tags at the end of
> the XML files? My understanding is that the first part of the
> describes your change rules along with the matches, then you
have all the
> matches (forwardMatches and backwardMatches), and then?
The ***matching.xml file has some redundant information for displaying
of matching results quickly.
<forwardRule> and <backwardRule> are
respectively rules from the old
version to the new version and rules from the new version to the old
version. In other words, we list matches from a rule perspective.
<forwardMatches> and <backwardMatches> are
matches from the old version to the new version and backward matches
from the new version to the old version respectively. In other words,
we list total matches.
Then, for each code element in the domain and codomain, we list
<left id_0="forward_134" id_1="forward_147"
means that the
code element in
the left (i.e., domain in the forward matching or a
set of method headers in the old version) are both explained by
forward rules 134 and 147.
Vice versa, code elements in the right (domain in the backward
matching or a set of method-headers in the new version) are explained
by one or more backward rules.
Hope this helps!