DOI QR코드

DOI QR Code

크로스커팅 개념을 이용한 시스템 최적화 기법

System Optimization Technique using Crosscutting Concern

  • 이승형 (경희대학교 컴퓨터공학과) ;
  • 유현 (오산대학교 컴퓨터정보과)
  • Lee, Seunghyung (Dept. of Computer Engineering, Kyung Hee University) ;
  • Yoo, Hyun (Dept. of Computer Information, OSAN University)
  • 투고 : 2016.12.09
  • 심사 : 2017.03.20
  • 발행 : 2017.03.28

초록

시스템 최적화는 소스코드의 변경 없이 중복된 모듈을 추출하고, 추출된 모듈의 재사용을 위하여 프로그램의 구조를 변경하는 기법이다. 구조지향 개발과 객체지향 개발은 크로스커팅 영역의 모듈화에는 효율적이나 크로스커팅 개념을 모듈화 할 수 없다. 기존 시스템에서 크로스커팅 개념을 적용하기 위해, 각 시스템 내에 분산되어 있는 시스템 최적화 대상 모듈을 크로스커팅 영역으로 추출하는 기술이 필요하다. 본 논문에서는 개발이 완료된 시스템에서 중복 모듈을 추출하기 위한 방법을 제안한다. 제안하는 방법은 소스코드 분석을 통해 데이터 의존관계와 제어 의존관계를 분석하여 중복되는 요소를 추출한다. 추출된 중복된 요소는 시스템 최적화를 위하여 프로그램 의존 관계 분석에 사용될 수 있다. 중복된 의존관계 분석 결과는 제어 흐름 그래프로 변환되며, 이를 활용하여 최소 크로스커팅 모듈을 생성할 수 있다. 의존 관계 분석을 통해 추출된 요소는 크로스커팅 영역 모듈로 설정함으로써 시스템 내 중복된 코드를 최소화 할 수 있는 시스템 최적화 방법을 제시한다.

The system optimization is a technique that changes the structure of the program in order to extract the duplicated modules without changing the source code, reuse of the extracted module. Structure-oriented development and object-oriented development are efficient at crosscutting concern modular, however can't be modular of crosscutting concept. To apply the crosscutting concept in an existing system, there is a need to a extracting technique for distributed system optimization module within the system. This paper proposes a method for extracting the redundant modules in the completed system. The proposed method extracts elements that overlap over a source code analysis to analyze the data dependency and control dependency. The extracted redundant element is used to program dependency analysis for the system optimization. Duplicated dependency analysis result is converted into a control flow graph, it is possible to produce a minimum crosscutting module. The element extracted by dependency analysis proposes a system optimization method which minimizes the duplicated code within system by setting the crosscutting concern module.

키워드

참고문헌

  1. Takeshi Matsumoto, Hiroshi Saito, Masahiro Fujita, "Equivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs", Proceedings of the 7th International Symposium on Quality Electronic Design, pp. 370-375, 2006.
  2. R. Laddad, "AspectJ in Action", Manning publication, Vol II ,2010.
  3. C. Liu, C. Chen, "detection of software plagiarism by program dependence graph analysis", international conference on Knowledge discovery and data mining, pp. 872-881, 2006.
  4. Y. Coady, G. Kiczales, et al., "Using aspectC to improve the modularity of pathspecific customization in operating system code," in Proc. of European Software Engineering Conference, pp. 88-98, 2001.
  5. Sven Apel. "From crosscutting concerns to feature interactions", MODULARITY Companion, 2016.
  6. A. Orso, S. Sinha, and M.J. Harrold, "Effects of pointers on data dependences", In Proceedings of the 9th Workshop on Program Comprehension, pp. 39-49, 2001.
  7. A.Chandra, "Study of Unit and Data flow testing in object-oriented and aspect-oriented programming", ICICCS-INBUSH 2016, pp. 245-250, 2006.
  8. T. Kamiya, "A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code", in Proc. of TSE, pp. 654-670, 2002.
  9. W Wu, F Gong, R Krishnan, L He, H Yu, "Exploiting parallelism by data dependency elimination: A case study of circuit simulation algorithms", IEEE Design & Test, pp. 26-35, 2013.
  10. A. Orso, S. Sinha, and M.J. Harrold, "Effects of pointers on data dependences", In Proceedings of the 9th International Workshop on Program Comprehension, pp. 39-49, 2001.
  11. B. Tsai, S. Stobart, N. "Performing Data Flow Testing on Object Oriented Classes", ICAST, 2000.
  12. F. Balmas.,"Displaying dependence graphs: a hierarchical approach.", In Proceedings of the 8th Working Conference on Reverse Engineering, pp. 261-270, 2001.
  13. C. Liu, C. Chen, J. Han and P. Yu.,"detection of software plagiarism by program dependence graph analysis", In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 872-881, 2006.
  14. Z. Chen, "An Overview of Methods for Dependence Analysis of Concurrent Program", ACMSIG PLAN Notices, Vol. 37, No. 8, pp. 45-52, 2002.
  15. Shanthi Makka, "A New Approach for Optimization of Program Dependence Graph using Finite Automata", Indian Journal of Science & Technology, Volume 9, Issue 38, 2016.