About the App

Null checks are inevitable bug fixing pattern in developemt process. This app lists revision whcih are null fixing. There are different customizations available such as null fixing revisions with bug informations.
s

Visualization

  • Column chart representing number of null check revisions in files.
  • One version of the app gives details of the checks with project name.
  • Second version represents results in column chart.
Candoia Overview Candoia Overview

Adoptability Results

Null-Check Application
# Project Setting Java Candoia Code
#VCS PLBug VCSBug ForgeMining VisualizeTotal TotalBoaJS HTMLCSSCandoia Code Java Code
1GITJavaGit-Issues 125 157 20 143 53 498 105 59 34 0 github github
2SVNJavaBugZilla 148(-89,+112) 117(-119,+79) 27(-15,+22) 156(436,+60) 53(-1,+1) 501(-267,+274) 105 59 34 0 github github
3GITJavaJira 125(-2,+2) 129(-110,+82) 20(-1,+1) 155(-21,+33) 53(-1,+1) 482(-135,+118) 105 59 34 0 github github
4GITJavaSF-Tickets 125(-2,+2) 115(-111,+69) 20(-1,+1) 167(-18,+42) 53(-1,+1) 480(-133,+115) 105 59 34 0 github github
5SVNJavaSF-Tickets 148(-89,+112) 116(-110,+69) 27(-15,+22) 154(-48,+59) 53(-1,+1) 498(-263,+263) 105 59 34 0 github github
6GITJSGit-Issues 120(-15,+10) 157(-1,+1) 20(-1,+1) 147(-13,+17) 53(-1,+1) 497(-31,+30) 105 59 34 0 github github




Customization Results


Null Check (Using Setting 1) as base
  Application Detail Java Candoia
#   M_{VCS} M_{Bug} M_{Forge} "M_{Mining} M_{Visualize} Total Total Boa JS HTML CSS Candoia Code Java Code
0 Pie chart 125 157 20 143 53 498 171 59 41 45 26 github github
1 Column chart 125(-1,+1) 157(-1,+1) 20(-1,+1) 143(-2,+2) 53(-3,+3) 498(-8,+8) 105 59 12 34 0 github github
2 Null Check Issue Life 125(-1,+1) 137(-29,+9) 20(-1,+1) 144(-14,+11) 53(-2,+2) 497(-47,+24) 186(-11,+26) 74(-4,+19) 41(-2,+2) 45(-4,+4) 26(-1,+1) github github
3 Null Check revision date 125(-1,+1) 157(-1,+1) 20(-1,+1) 147(-6,+11) 53(-1,+1) 501(-10,+15) 176(-12,+17) 64(-3,+8) 41(-4,+4) 45(-4,+4) 26(-1,+1) github github
3 Developer fixing null check bugs 125(-1,+1) 157(-1,+1) 20(-1,+1) 147(-13,+18) 53(-1,+1) 502(-17,+22) 173(-13,+10) 64(-4,+1) 41(-4,+4) 45(-4,+4) 26(-1,+1) github github


x(-y,+z) means there are total x number of lines of code in the module, of which y lines were removed and z lines were added to adopt the code for newer setting

Analysis

From the above table it is evident that adopting a Java app for a different underlying MSR setting (combination of VCS, Bug etc.), requires significant number of changes, while Candoia app remains unchanged. This not only decreases the efforts required to build portable MSR app but also increases sharability aspects.