DOI QR코드

DOI QR Code

모듈의 의존관계와 저자 엔트로피를 이용한 소프트웨어 모듈-뷰 복원

Recovery of Software Module-View using Dependency and Author Entropy of Modules

  • 김정민 (소프트웨어정책연구소 SW산업정책연구실) ;
  • 이찬근 (중앙대학교 창의ICT공과대학 컴퓨터공학부) ;
  • 이기성 (중앙대학교 교양학부대학)
  • 투고 : 2016.08.09
  • 심사 : 2017.01.08
  • 발행 : 2017.03.15

초록

본 연구에서 우리는 모듈의 의존관계와 저자 엔트로피(Author Entropy) 정보를 이용하여 소프트웨어 모듈-뷰를 복원하는 새로운 소프트웨어 클러스터링 기법을 제안한다. 해당 기법은 우선 구조적 및 논리적 의존관계 정보를 기준으로 소프트웨어 모듈을 클러스터링한 후, 모듈 별 저자 엔트로피를 이용하여 일부 선택된 모듈을 클러스터 결과로부터 이전한다. 제안된 기법의 평가를 위해 참(ground-truth) 모듈-뷰가 알려진 오픈소스 프로젝트들에 적용하여 MoJoFM 값을 구하였다. 이와 함께 기존에 연구된 모듈-뷰 복원 기법들의 MoJoFM값과 비교하여, 제안된 기법이 소프트웨어 모듈-뷰 복원에 보다 효과적임을 보였다.

In this study, we propose a novel technique of software clustering to recover the software module-view by using the dependency and author entropy of modules. The proposed method first performs clustering of modules based on structural and logical dependencies, then it migrates selected modules from the clustered result by utilizing the author entropy of each module. In order to evaluate the proposed method, we calculated the MoJoFM values of the recovery result by applying the method to open-source projects among which ground-truth decompositions are well-known. Compared to the MoJoFM values of previously studied techniques, we demonstrated the effectiveness of the proposed method.

키워드

과제정보

연구 과제 주관 기관 : 한국연구재단

참고문헌

  1. C. Taylor, E. Stevenson, P. Delorey, and D. Knutson, "Author entropy: A metric for characterization of software authorship patterns," Proc. of the Workshop on Public Data about Software Development, pp. 42-47, 2008.
  2. C. Patel, A. Hamou-Lhadj, and J. Rilling, "Software Clustering Using Dynamic Analysis and Static Dependencies," Proc. of the European Conference on Software Maintenance and Reengineering, pp. 24-27, 2009.
  3. A. Kuhn, S. Ducasse, and T. Girba, "Semantic Clustering: Identifying Topic in Source Code," Proc. of Working Conference on Reverse Engineering, pp. 230-243, 2005.
  4. A. Oliva and F.W.S Santana, "Towards a Classification of Logical Dependencies Origins: A Case Study," Proc. of the International Workshop on Principles of Software Evolution, pp. 31-40, 2011.
  5. J. Garcia, I. Krka, C. Mattmann, and N. Medvidovic, "Obtaining ground-truth software architectures," Proc. of the International Conference on Software Engineering, pp. 901-910, 2013.
  6. J. Garcia, I. Ivkovic, and N. Medvidovic, "A Comparative Analysis of Software Architecture Recovery Techniques," Proc. of the IEEE International Conference on Automated Software Engineering, pp. 486-496, 2013.
  7. M. Mondal, C. Roy, and K. Schneider, "Insight into a Method Co-change Pattern to Identify Highly Coupled Method: An Empirical Study," Proc. of the IEEE International Conference on Program Comprehension, pp. 103-112, 2013.
  8. C. Taylor, L. Krein, C. MacLean, and D. Knutson, "An analysis of author contribution patterns in eclipse foundation project source code," Proc. of the IFIP International Conference on Open Source Systems, pp. 269-281, 2011.
  9. D. Posnett, R. D'Souza, P. Devanbu, and Vladimir Filkov, "Dual Ecological Measures of Focus in Software Development," Proc. of the International Conference on Software Engineering, pp. 452-461, 2013.
  10. S. Mancoridis, B. Mitchell, Y. Chen, and E. Gansner, "Bunch: A clustering tool for the recovery and maintenance of software system structures," Proc. of the IEEE International Conference on Software Maintenance, pp. 50-59, 1999.
  11. Z. Wen and V. Tzerpos, "An effectiveness measure for software clustering algorithms," Proc. of the IEEE International Workshop on Program Comprehension, pp. 194-203, 2004.