Research Article

Computation of Program Source Code Similarity by Composition of Parse Tree and Call Graph

Box 1

An example of Java source code.
public class Fibo {
  public static int rFibonacci(int number) {
       if (number == 1 number == 2) {
           return 1;
       }
       return  rFibonacci(number-1) + rFibonacci(number-2);
   }
  private static int sum(int value1, int value2) {
       return value1 + value2;
   }
  public static int iFibonacci(int number) {
       if (number == 1 number == 2) {
           return 1;
       }
       int fibo1 = 1, fibo2 = 1;
       int fibonacci = initOne();
       for (int i = 3; i <= number; i++) {
           fibonacci = sum(fibo1, fibo2);
           fibo1 = fibo2;
           fibo2 = fibonacci;
       }
       return fibonacci;
   }
  private static int initOne() {
       return 1;
   }
  public static void main(String args) {
       int rFibo = Fibo.rFibonacci(7);
       int iFibo = Fibo.iFibonacci(7);
       System.out.println(rFibo);
       System.out.println(iFibo);
   }
}