About the App

Serialization variables named "serialVersionUID" are often of type long, are final and static. This enumerates and visualizes instances of variables named "serialVersionUID" but not static, or final or long.
s

Visualization

  • Column chart representing number of serialization violation.
  • A detailed list with number of violation is also presented to user.
Candoia Overview

Adoptability Results

Serialization Police Application
# Project Setting Java Candoia Code
#VCS PLBug VCSBug ForgeMining VisualizeTotal TotalBoaJS HTMLCSSCandoia Code Java Code
1GITJavaGit-Issues 63 0 20 94 53 230 164 41 48 47 28 code code
2SVNJavaBugZilla 94(-36,+67) 0 27(-17,+24) 82(-32,+20) 53(-1,+1) 256(-86,+112) 164 41 48 47 28 code code
3GITJavaJira 63(-1,+1) 0 20(-1,+1) 94(-1,+1) 53(-1,+1) 230(-4,+4) 164 41 48 47 28 code code
4GITJavaSVN-Tickets 63(-1,+1) 0 20(-1,+1) 94(-1,+1) 53(-1,+1) 230(-4,+4) 164 41 48 47 28 code code
5SVNJavaSVN-Tickets 94(-36,+67) 0 27(-17,+24) 82(-32,+20) 53(-1,+1) 256(-86,+112) 164 41 48 47 28 code code
6GITJSGit-Issues 63(-1,+1) 0 20(-1,+1) 94(-2,+2) 53(-1,+1) 230(-5,+5) 164 41 48 47 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.