DOI QR코드

DOI QR Code

Software Similarity Measurement based on Dependency Graph using Harmony Search

  • Received : 2016.10.06
  • Accepted : 2016.12.15
  • Published : 2016.12.31

Abstract

In this paper, we attempt to prevent certain cases by tracing a history and making genogram about open source software and its modification using similarity of source code. There are many areas which use open source software actively and widely, and open source software contributes their development. However, there are many unconscious cases like ignoring license or intellectual properties infringe which can lead litigation. To prevent such situation, we analyze source code similarity using program dependence graph which resembles subgraph isomorphism problem, a typical NP-complete problem. To solve subgraph isomorphism problem, we utilized harmony search of metaheuristic algorithm and compared its result with a genetic algorithm. For the future works, we represent open source software as program dependence graph and analyze their similarity.

Keywords

References

  1. S.H.Kim, "Plagiarism Detection using Dependence Graph Analysis Specialized for Javascript", Master Thesis, Korea Advanced Institute of Science Technology, 2011.
  2. J.H.Ji, G.Woo, H.G.Cho, "A Plagiarism Detection Technique for Java Program Using Bytecode Analysis", Journal of Korean Institute of Information Scientists and Engineers, Vol. 35, No. 7, pp.442-451, 2008. 07.
  3. Y.C.Kim, S.C.Hwang, J.Y.Choi, "A Program Similarity Evaluation Algorithm", Journal of Korean Society for Information, Vol. 6, No. 1, pp.51-64, 2005. 02.
  4. Koschke, R., Falke, R, Frenzel, P, "Clone Detection Using Abstract Syntax Suffix Trees", Proceedings of the 13th Working Conference on Reverse Engineering. IEEE, pp. 253-262, 2006.
  5. Liu, C., Chen, C., Han, J., Yu, P. S., "GPLAG: Detection of Software Plagiarism by Program Dependence Graph Analysis" Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 872-881, 2006.
  6. Y.E.Kim, J.S.Cheon, S.W.Byun, G.Woo, "A Parallel Performance Comparison of Haskell Using a Plagiarism Detection Method", Korea Computer Congress, pp.1724-1726, 2016.
  7. Lutz Prechelt, Guido Malpohl, Michael Philippsen, "Finding Plagiarism among a Set of Programs with JPlag", Journal of Universal Computer Science, Vol. 8, No. 11, pp.1016-1038, 2002
  8. Gitchell, David, and Nicholas Tran, "Sim : a Utility for Detecting Similarity in Computer Programs." ACM SIGCSE Bulletin. Vol. 31, No. 1. ACM, 1999
  9. Wise, Michael J. "YAP3 : Improved Detection of Similarities in Computer Program and Other Texts." ACM SIGCSE Bulletin Vol. 28, No.1, pp.130-134, 1996 https://doi.org/10.1145/236462.236525
  10. Suresh G. Singh, "Graph Theory", PHI Learning, 2010.
  11. J.E.Choi, Y.R.Yoon, B.R.Moon. "An efficient genetic algorithm for subgraph isomorphism." Proceedings of the 14th annual conference on Genetic and evolutionary computation. pp.361-368, 2012.
  12. Farahani, M. M., Chaharsoughi, S. K., "A Genetic and Iterative Local Search Algorithm for Solving Subgraph Isomorphism Problem.", Industrial Engineering and Operations Management (IEOM), International Conference on. IEEE, pp.1-6, 2015.
  13. Li, Z., Chen, B., Che, D, "Solving the Subgraph Isomorphism Problem Using Simulated Annealing and Evolutionary Algorithms." Proceedings on the International Conference on Artificial Intelligence (ICAI). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), pp.293-299, 2016.
  14. J.E.Choi, Y.R.Yoon, B.R.Moon, "An efficient genetic algorithm for subgraph isomorphism.", Proceedings of the 14th annual conference on Genetic and evolutionary computation, 2012.
  15. H.R.Lee, S.H.Shin, K.H.Choi, G.H.Jung, S.K.Park, "Constructing Software Structure Graph through Progressive Execution", Journal of The Korea Society of Computer and Information, Vol.18, No.7, 2013. 07
  16. J.H.Kim, H.K.Kim, K.H.Jang, J.M.Lee, Y.S.Moon, "Object Classification Method Using Dynamic Random Forests and Genetic Optimization", Journal of The Korea Society of Computer and Information, Vol.21, No.5, 2016. 05.