27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Table 1. The precision and recall results of<br />

the empirical study<br />

CS θ ɛ P IIS R IIS ) P FIS R FIS P TCG R TCG<br />

Transaction: V 0− >V1<br />

2 0.72 0.55 0.51 0.83 0.47 0.93<br />

0.2 3 0.72 0.56 0.51 0.84 0.47 0.93<br />

4 0.69 0.61 0.52 0.84 0.47 0.93<br />

5 0.66 0.63 0.52 0.84 0.47 0.93<br />

2 0.75 0.51 0.59 0.79 0.47 0.93<br />

0.3 3 0.71 0.57 0.57 0.79 0.47 0.93<br />

4 0.71 0.57 0.59 0.77 0.47 0.93<br />

5 0.67 0.64 0.55 0.82 0.47 0.93<br />

20 2 0.79 0.51 0.72 0.65 0.47 0.93<br />

0.4 3 0.70 0.59 0.63 0.72 0.47 0.93<br />

4 0.71 0.59 0.65 0.69 0.47 0.94<br />

5 0.66 0.66 0.58 0.76 0.47 0.93<br />

2 0.75 0.49 0.67 0.56 0.47 0.93<br />

0.5 3 0.75 0.55 0.68 0.62 0.47 0.93<br />

4 0.71 0.60 0.65 0.68 0.47 0.93<br />

5 0.65 0.65 0.58 0.73 0.47 0.93<br />

Transaction: V 1− >V2<br />

2 0.42 0.59 0.31 0.75 0.25 0.85<br />

0.2 3 0.39 0.65 0.29 0.79 0.25 0.85<br />

4 0.40 0.64 0.29 0.79 0.25 0.85<br />

5 0.37 0.73 0.31 0.81 0.25 0.85<br />

2 0.45 0.58 0.35 0.69 0.25 0.84<br />

0.3 3 0.38 0.59 0.31 0.72 0.25 0.84<br />

4 0.37 0.59 0.31 0.73 0.25 0.85<br />

5 0.36 0.66 0.30 0.75 0.25 0.84<br />

13 2 0.47 0.56 0.41 0.63 0.25 0.84<br />

0.4 3 0.39 0.65 0.33 0.72 0.25 0.84<br />

4 0.38 0.64 0.33 0.73 0.25 0.86<br />

5 0.36 0.64 0.33 0.72 0.25 0.84<br />

2 0.42 0.61 0.40 0.61 0.25 0.85<br />

0.5 3 0.39 0.62 0.34 0.64 0.25 0.84<br />

4 0.38 0.63 0.33 0.65 0.25 0.85<br />

5 0.37 0.66 0.33 0.69 0.25 0.84<br />

Transaction: V 2− >V3<br />

2 0.85 0.67 0.25 0.93 0.17 0.93<br />

0.2 3 0.80 0.72 0.25 0.94 0.17 0.94<br />

4 0.81 0.77 0.25 0.93 0.17 0.93<br />

5 0.52 0.84 0.25 0.94 0.17 0.94<br />

2 0.82 0.64 0.57 0.91 0.17 0.94<br />

0.3 3 0.84 0.71 0.58 0.90 0.17 0.93<br />

4 0.83 0.78 0.56 0.92 0.17 0.94<br />

5 0.48 0.84 0.37 0.92 0.17 0.93<br />

12 2 0.85 0.66 0.78 0.83 0.17 0.93<br />

0.4 3 0.83 0.72 0.76 0.84 0.17 0.94<br />

4 0.81 0.76 0.73 0.84 0.17 0.93<br />

5 0.47 0.82 0.44 0.88 0.17 0.93<br />

2 0.87 0.66 0.84 0.74 0.17 0.93<br />

0.5 3 0.79 0.72 0.76 0.79 0.17 0.93<br />

4 0.80 0.77 0.77 0.83 0.17 0.93<br />

5 0.51 0.83 0.50 0.88 0.17 0.93<br />

the transaction V 1− >V2 are bad but they are very good<br />

for transaction V 2− >V3. As we trace the changes to the<br />

transactions of these two version evolution, we know that,<br />

for V 1− >V2 transaction, the changes made to the system<br />

are loosely scattered in different parts, in other words,<br />

these changes are implemented individually with very few<br />

relationships among them. But for V 2− > V3 transaction,<br />

the changes are implemented in only some local parts<br />

of the system and some of them are implemented together.<br />

This phenomenon shows that interference among the<br />

changes affects the effectiveness of the CIA. Hence, from<br />

the discussion above, we see that selection of different CS,<br />

θ and ɛ have impact on the CIA technique. The tendency of<br />

their impacts are summarized in Figure 2. From this figure,<br />

we know that when we know more information about the<br />

changes, our CIA is better. And different values of these<br />

two thresholds can control the precision and recall of the<br />

CIA technique.<br />

Then, we see the effectiveness of our CIA technique.<br />

Our CIA computes two impact sets (IIS and FIS). Table<br />

1 shows that the precision and recall of the IIS and<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Figure 2. Impact of CS, θ and ɛ on the CIA<br />

technique<br />

FIS are different, to say in detail, in most of the time, the<br />

precision of the IIS is better than that of the FIS while<br />

the recall of the IIS is worse than that of FIS. The results<br />

conform to our expectation and are useful in practice. In<br />

practice, we can first use the IIS to more precisely check<br />

the real change ripples. After this, we use the FIS to check<br />

other change ripples to ensure the integrity of the change.<br />

In addition, Table 1 also presents the precision and recall of<br />

the traditional call graph based CIA technique (TCG)in<br />

the last two columns. As it shows, the precision of our technique<br />

is much higher than that of the TCG. But the recall<br />

is a little worse than the TCG. This indicates that our CIA<br />

technique effectively removes some false-positives from the<br />

TCGtechnique at the cost of a little recall.<br />

From the data and analysis above, we obtain some preliminary<br />

conclusions: (1) the precision and recall of the impact<br />

sets are affected by the ɛ and θ; (2) our CIA technique<br />

is particularly useful to tackle multiple changes which have<br />

some relationships (interference) among them. (3) our CIA<br />

computes the IIS with higher precision and the FIS with<br />

higher recall. Compared with traditional call graph based<br />

CIA technique, our technique can effectively remove some<br />

false-positives, but at the cost of a little recall.<br />

3.3 Threats to Validity<br />

Like any empirical validation, ours has its limitations.<br />

Firstly, we have considered the application of our CIA approach<br />

to only one Java program. Therefore, to allow for<br />

generalization of our results, large-scale experimental evaluation<br />

on different projects in different object oriented languages<br />

is necessary to address such threats to external validity.<br />

However, the program used here is real and non-trivial<br />

programs, moreover, the subject program is selected from<br />

open projects and widely used for empirical validation [11].<br />

In addition, the change sets are obtained by randomly selecting<br />

some differences between consecutive versions. S-<br />

ince there exists random variation, we may not obtain the<br />

same results if we repeat our case study. However, we performed<br />

a statistical testing of our CIA technique with a variation<br />

of the percentage of the number of changed methods<br />

in the change set ranging from 10% to 50%. Using this s-<br />

11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!