• 제목/요약/키워드: Java AST

검색결과 12건 처리시간 0.015초

음악 표절 분석을 위한 디지털 음악 요소에 대한 연구 (A Study of Digital Music Element for Music Plagiarism Analysis)

  • 신미해;조진완;이혜승;김영철
    • 한국컴퓨터정보학회논문지
    • /
    • 제18권8호
    • /
    • pp.43-52
    • /
    • 2013
  • 본 연구는 서로 다른 두 음원에 대한 표절 여부를 분석하기 위한 음악 요소에 대해서 연구한다. 따라서 본 연구에서는 먼저 음원 분석을 위해서 디지털 음악 요소에 대해서 알아보고, 이 음악 요소를 컴파일러 기법을 활용하여 어떻게 표절 분석에 이용할 것인지 살펴본다. 또한 복잡한 미디 음악 데이터를 간단하게 처리 할 수 있도록 지원하는 오픈소스 자바 API인 JFugue를 활용한다. 따라서 본 논문에서는 JFugue에서 지원하는 포맷인 뮤직스트링 (MusicString)을 이용하여 음악 표절 분석 시스템을 설계하고 음악 표절 분석을 효율적으로 처리하기 위하여 뮤직스트링 문법 처리 요소를 살펴보고 추상구문트리(AST)를 구축하는 하고자 한다. 따라서 본 논문은 지금까지 감성적이고 주관적으로 평가해왔던 두 음원의 표절 분석을 시스템적으로 구축하기 위한 첫걸음이 될 것이며, 이 연구가 잘 활용된다면 차후에 두 음원의 표절 여부를 시스템적으로 정형화할 수 있다는 점에 큰 의의를 둘 수 있다고 판단된다.

OCL을 이용한 자동화된 코드스멜 탐지와 리팩토링 (Automated Code Smell Detection and Refactoring using OCL)

  • 김태웅;김태공
    • 정보처리학회논문지D
    • /
    • 제15D권6호
    • /
    • pp.825-840
    • /
    • 2008
  • 리팩토링은 내부적으로는 시스템의 품질을 개선하고, 외부적으로는 시스템의 기능을 유지하는 일종의 소프트웨어를 변경하는 과정이다. 이러한 리팩토링을 적용하여 기존 소스코드를 개선하기 위해서는 개선할 사항이 무엇인지를 아는 것이 우선이다. 이를 위해 Martin Fowler와 Kent Beck은 코드속의 나쁜 냄새(코드스멜)를 식별할 수 있는 방법을 제시 하였다. 또한 코드스멜을 탐지하고 어디에 어떤 리팩토링을 적용할 것인가를 결정하는 문제와 관련된 몇몇 연구가 발표되었다. 그러나 이러한 연구들은 코드스멜에 대한 명확한 표현이 부족하거나 한정된 코드스멜만을 탐지하는 단점이 있다. 그리고 리팩토링을 적용할 경우 행위보존을 위한 선행조건들의 표현방법이 리팩토링 절차에 포함되어 있거나 정형화되지 않아 행위보존의 모호함이 발생되는 단점을 가지고 있다. 이에 본 논문에서는 OCL을 이용하여 코드스멜의 정보를 정확히 명세화하고, OCL 번역기를 통해 코드스멜을 자동으로 탐지하여 리팩토링하는 프레임워크를 제안한다. 또한 적용사례를 통하여 자바소스코드속의 코드스멜을 OCL로 명세화하여 자동탐지하고, 리팩토링을 적용해 봄으로써 활용성과 효용성을 검증해본다.