소프트웨어 유사도 평가를 위한 분석 도구
Analysis Tools for Software Similarity Evaluation
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
현대 소프트웨어 산업은 빠른 개발 주기와 치열한 경쟁 속에서 방대한 양의 소스코드가 재사용되고 공유되는 구조로 변화하고 있다. 이러한 환경에서 일부 기업은 경쟁사의 소스코드를 무단으로 복제하거나 오픈소스 라이선스를 위반하는 방식으로 제품 개발에 활용함으로써, 지적 재산권 침해 및 법적 분쟁의 원인을 초래하고 있다. 특히 최근에는 코드 난독화, 구조 변경, 함수 분할 등 다양한 표절 회피 기법을 이용하여 기존의단순한 문자열 비교 방식으로는 표절 여부를 정확히 판별하기 어려운 상황이다. 이에 따라, 프로그램의 문법적 구조와 의미적 유사성까지 분석할 수 있는 고도화된 탐지 기법의 필요성이 대두되고 있다. 소프트웨어 표절 탐지에서 규모가 작은 소프트웨어는 수작업으로 표절을 판단할 수 있지만, 규모가 큰 소프트웨어의 경우 수작업으로 표절 여부를 판단하는 것은 불가능하다 볼 수 있다. 따라서 표절 판단을 위한표절 유사도 분석 도구가 필요하다. 본 논문에서는 소프트웨어 특성에 따라 문서(텍스트), 데이터베이스, 기계어로 분류하고 각 특성에 맞는 유사도를 분석하고자 한다.
Abstract
In today’s software industry, rapid development cycles and intense competition have led to the widespread reuse and sharing of source code. Within this context, some companies have engaged in unauthorized replication of competitors’ code or violated open-source licenses to accelerate product development, leading to serious intellectual property infringements and legal disputes. As plagiarism techniques become increasingly sophisticated through methods such as code obfuscation, structural reordering, and function fragmentation traditional string-based detection methods are no longer sufficient to accurately identify illicit reuse. In the field of software plagiarism detection, manual judgment may be feasible for small-scale software; however, for large-scale software systems, it is practically impossible to determine plagiarism manually. Therefore, automated similarity analysis tools are essential for accurate and efficient plagiarism detection. This paper classifies software into three categories—document-based (text), database-driven, and machine code—based on their characteristics, and investigates appropriate similarity analysis tools tailored to each type.
