• 제목/요약/키워드: 추상구조화트리

검색결과 3건 처리시간 0.017초

닷넷 프레임워크에서 클래스 최적화를 위한 추상구조트리 생성 및 크로스커팅 위빙 메커니즘 (AST Creating and Crosscutting Concern Weaving Mechanism for Class Optimization in .NET Framework)

  • 이승형;박제연;송영재
    • 한국콘텐츠학회논문지
    • /
    • 제10권2호
    • /
    • pp.89-98
    • /
    • 2010
  • 엔터프라이즈 시스템은 점점 복잡해지고 대형화되고 있다. 시대적 흐름에 따라 재사용에 초점을 맞춘 객체지향 프로그래밍 방법으로 시스템을 개발하고 있다. 하지만, 객체지향 방법에서는 core class에 중복되는 코드가 삽입되기 때문에, 생산성 저하, 새로운 요구사항을 적용하기 어려운 문제가 발생한다. 이 단점을 해결하기 위하여, 메타데이터와 크로스커팅 개념을 적용하는 위빙 메카니즘을 제안한다. 클래스 최적화와 다른 언어사이의 통합을 위하여 다음의 방법을 사용한다. 리플렉션을 이용한 메타데이타 생성, 추상구조트리로의 변환, 그리고 XML로 명세된 크로스커팅 정보를 통한 매핑을 이용한다. 제안하는 방법을 이용하여, 기능의 분산과 코드의 혼란을 해결함으로서 클래스를 최적화 할 수 있다.

추상구문트리를 이용한 어스팩트 마이닝 프로세스 설계 (Aspect Mining Process Design Using Abstract Syntax Tree)

  • 이승형;송영재
    • 한국콘텐츠학회논문지
    • /
    • 제11권5호
    • /
    • pp.75-83
    • /
    • 2011
  • 어스팩트 지향 프로그래밍은 시스템에서 크로스커팅 개념을 추출하고 소프트웨어 모듈화를 통하여 기능의 분산과 코드의 혼란을 해결하기 위한 패러다임이다. 현존하는 어스팩트 개발 방법은 크로스커팅 대상 영역을 추출에 어려움이 있기 때문에, 어스팩트 마이닝을 적용하기가 쉽지 않다. 어스팩트 마이닝에서는 기존 프로그램의 리팩토링 요소를 크로스커팅 영역으로 변환하는 기술이 필수적이다. 본 논문에서는 리팩토링에 적합한 크로스커팅 영역 자동 추출을 위한 시스템에서 크로스커팅 개념을 추출하기 위한 어스팩트 마이닝 방법을 제안한다. 소스 모듈의 추상 구문구조 명세를 이용하여, 모듈의 구조적 중복 관계 요소를 추출한다. Apriori 알고리즘을 통하여 중복 구문트리를 생성하고, 크로스커팅 영역 대상인 중복된 소스 모듈을 자동 생성, 최적화 할 수 있다. Berkeley Yacc의 berbose.c 모듈을 제안하는 마이닝 프로세스에 적용해 본 결과, 원본 대비 9.47%의 길이와 부피의 감소하였고, CCFinder 대비 4.92%의 길이 감소, 5.11%의 부피 감소 효과를 확인하였다.

대용량 소스코드 시각화기법 연구 (Visualization Techniques for Massive Source Code)

  • 서동수
    • 컴퓨터교육학회논문지
    • /
    • 제18권4호
    • /
    • pp.63-70
    • /
    • 2015
  • 프로그램 소스코드는 텍스트를 기반으로 하는 정보이며 동시에 논리 구조를 포함하고 있는 복잡한 구문의 집합체이다. 특히 소스코드의 규모가 수만 라인에 이르는 경우 구조적, 논리적인 복잡함으로 인해 기존의 빅데이터 시각화 기법이 잘 적용되기 힘들다는 문제가 발생한다. 본 논문은 소스코드가 갖는 구조적인 특징을 시각화하는데 있어 필요한 절차를 제안한다. 이를 위해 본 논문은 파싱 과정을 거쳐 생성된 추상구문트리를 대상으로 프로그램의 구조특징을 표현하기 위한 자료형의 정의, 함수간 호출관계를 표현한다. 이들 정보를 바탕으로 제어 정보를 네트워크 형태로 시각화함으로써 모듈의 구조적인 특징을 개괄적으로 살펴볼 수 있는 방법을 제시한다. 본 연구의 결과는 대규모 소프트웨어의 구조적 특징을 이해하거나 변경을 관리하는 효과적인 수단으로 활용할 수 있다.