About the App

An app to checks if there are some variables, which are static but not final.

Visualization

  • Column chart representing number of non final static fields in classes.
  • A chart and a list both are presented to the user.
  • Only classes with such fields are reposrted.
Candoia Overview

Adoptability Results

Static Enforcer Application
# Project Setting Java Candoia Code
#VCS PLBug VCSBug ForgeMining VisualizeTotal TotalBoaJS HTMLCSSCandoia Code Java Code
1GITJavaGit-Issues 63 0 20 92 53 228 141 34 42 37 28 code code
2SVNJavaBugZilla 94(-36,+67) 0 27(-17,+24) 80(-36,+24) 53(-1,+1) 254(-90,+116) 141 34 42 37 28 code code
3GITJavaJira 63(-1,+1) 0 20(-1,+1) 92(-1,+1) 53(-1,+1) 228(-4,+4) 141 34 42 37 28 code code
4GITJavaSVN-Tickets 63(-1,+1) 0 20(-1,+1) 92(-1,+1) 53(-1,+1) 228(-4,+4) 141 34 42 37 28 code code
5SVNJavaSVN-Tickets 94(-36,+67) 0 27(-17,+24) 80(-36,+24) 53(-1,+1) 254(-90,+116) 141 34 42 37 28 code code
6GITJSGit-Issues 63(-1,+1) 0 20(-1,+1) 92(-6,+6) 53(-1,+1) 228(-9,+9) 141 34 42 37 28 code code


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.