소프트웨어 유지 보수 담당자는 코드 식별자를 중심으로 소프트웨어의 소스 코드를 이해한다. 그렇기 때문에 코드의 식별자를 비 일관적으로 사용하게 되면 소프트웨어를 이해하는데 어려움을 격게 되어 결국 소프트웨어의 유지보수 비용이 증가하게 된다. 이러한 비 일관적인 식별자 사용의 문제를 해결하기 위하여 개발자가 상호 검토하는 방법이 있으나 코드의 양이 많은 경우에 전체 코드를 확인하는 것은 불가능할 수있다. 본 논문에서는 자연어 처리 기법을 사용하여 자동으로 Java 코드 내의 비 일관적인 식별자를 검출하기 위한 기법을 소개한다. 이 기법에 서는 프로젝트 내의 모든 식별자를 추출 및 구문 분석하고, 구조상 유사어와 의미상 유사어를 분류한 후 최종적으로 제안된 규칙을 기반으로 비 일관적인 식별자를 검출한다. 본 논문에서는 지원 도구인 CodeAmigo를 개발하여 제안된 방법을 지원하였다. 우리는 지원 도구를 두 가지의 널리 알려진 Java기반 오픈 소스 프로젝트에 적용하고, 검출 결과의 정확도를 계산하여 제안된 접근 방법의 타당성을 확인하였다.
본고에서는 자연어 처리 기법을 사용하여 자동으로 Java 코드 내의 비 일관적인 식별자를 검출하기 위한 기법을 소개한다.