About the Flawed Logic Detector

If-else are integral part of decision making in programming, however too deep if-else logic is not considered good practice. This app finds the depth of ie-else logic and reports the frequencey of each depth.
s

Visualization

  • A pie chart displaying depth of if-else logic.
  • Number of occurances of depth of each if-else logic is displayed along with the depth.
  • App can be customized to find the files containing these flawed logics, moreover threashold value can also be customized.
Candoia Overview

Adoptability Results

Flawed Logic Detector
# Project Setting Java Candoia Code
#VCS PLBug VCSBug ForgeMining VisualizeTotal TotalBoaJS HTMLCSSCandoia Code Java Code
1GITJavaGit-Issues 63 0 20 75 53 211 141 20 48 47 28 code code
2SVNJavaBugZilla 94(-36,+67) 0 27(-17,+24) 99(-36,+60) 53(-1,+1) 273(-90,+152) 141 20 48 47 28 code code
3GITJavaJira 63(-1,+1) 0 20(-1,+1) 75(-1,+1) 53(-1,+1) 211(-4,+4) 141 34 42 37 28 code code
4GITJavaSF-Tickets 63(-1,+1) 0 20(-1,+1) 75(-1,+1) 53(-1,+1) 211(-4,+4) 141 34 42 37 28 code code
5SVNJavaSF-Tickets 94(-36,+67) 0 27(-17,+24) 99(-36,+60) 53(-1,+1) 273(-90,+152) 141 20 48 47 28 code code
6GITJSGit-Issues 58(-14,+9) 0 20(-1,+1) 118(-10,+53) 53(-1,+1) 249(-26,+67) 141 20 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.