• 제목/요약/키워드: Source Code Similarity

검색결과 47건 처리시간 0.023초

소스코드 요약을 이용한 대규모 소프트웨어 유사도 평가 (Similarity Detection for Large Scale Software Using Abstracted Source Code)

  • 박성수;한환수
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.39-41
    • /
    • 2012
  • 프로그램 코드의 유사도 측정에 대한 방법은 여러 가지 존재하고 있으며 유사도 측정 프로그램도 많이 존재한다. 이런 프로그램 유사도 측정 도구는 중소규모 소프트웨어 프로젝트에 많이 사용되고 있으나, 실제 대규모 소프트웨어의 유사도 검사를 위해서 사용하기에는 한계가 존재한다. 지금까지 대규모 소프트웨어의 유사도를 측정할 수 있는 객관적 방법이 거의 제시되지 않고 있어, 본 논문에서는 대규모 소프트웨어의 소스코드를 요약하여 서로 다른 프로그램의 유사도를 측정하는 방법을 제시한다.

재귀적 지역정렬을 이용한 프로그램 표절 탐색 (Source code Plagiarism Detection with Recursive Local Alignments)

  • 전명재;이평준;조환규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (A)
    • /
    • pp.946-948
    • /
    • 2004
  • 지역정렬(local alignment)과 전체정렬(global alignment)로 대표되는 정렬 문제는 전산학 분야의 전형적인 문제로, 두 서열의 전체적인 또는 부문적인 유사성(similarity)을 찾아 주기 위한 방법이다. 특히 정렬은 두 문자열에서 유사하게 나타나는 유사 서브스트링을 찾아내는 문제라든가 근래의 생물정보학에서 두 DNA시퀀스간의 유사도를 판별하는 문제 등에서 매우 중요란 기법이다. 본 논문에서는 두 서열들을 유사하게 매칭 시켜 주는 기존의 정렬 방법을 응용, 변형하여 C, C++. JAVA등으로 짜여진 프로그램 소스들의 유사도를 측정하는 방법을 제시하였다. 실제로 이런 프로그램 소스의 표절은 대학교육 수업과정 등에서 빈번하게 발생되는 문제점으로서 본 논문에서는 프로그램 소스표절을 검사, 탐지할 수 있는 방법론 및 구체적인 프로그램과 그 결과를 제시하고 있다. 아울러 두 프로그램간의 유사성을 비교하기 위해 기존의 지역정렬 방법을 보다 효율적으로 적절히 변형시키는 방법을 제시하고 있다.

  • PDF

소프트웨어 목적물의 전달체계 분석과 신뢰성 검증 (Management of Reliability and Delivery for Software Object Material)

  • 김도현;이규대
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제15권2호
    • /
    • pp.51-57
    • /
    • 2019
  • 소프트웨어의 저작권 도용이 증가하면서 유사성을 판단을 요구하고 있지만, 분석을 위한 목적물의 확보 및 이동에 대한 신뢰성 확보가 중요시 되고 있다. 감정을 위한 데이터로 사용되는 목적물 자료는 법원 및 경찰서와 같은 분쟁 처리 기관에서 감정인에게 제공되는 핵심적인 데이터이다. 목적물은 분쟁 당사자가 저작권위원회에 제출하고 최종적으로 감정 전문가에게 원본상태로 전달되는 이동 과정을 갖는다. 그러나 분쟁 당사자가 감정 결과에 만족하지 않으면 목적물의 신뢰성에 대한 이의를 제기한다. 특히, 소프트웨어 목적물은 파일 형식으로 제작되어, 변형이나 수정이 가능한 것으로 인식되고 있다. 따라서 목적물에 객관성을 부여하는 방법이 다양한 방식으로 검토되고 있으며, 포렌식이 하나의 방법으로 제안되고 있다. 본 연구는 실제 사례의 감정 프로세스를 통해 목적물의 이동 및 신뢰성을 확보하는 방법을 연구하였다.

서바이벌 네트워크 개념을 이용한 저자 식별 프레임워크: 의미론적 특징과 특징 허용 범위 (Authorship Attribution Framework Using Survival Network Concept : Semantic Features and Tolerances)

  • 황철훈;신건윤;김동욱;한명묵
    • 정보보호학회논문지
    • /
    • 제30권6호
    • /
    • pp.1013-1021
    • /
    • 2020
  • 악성코드 저자 식별은 알려진 악성코드 저자의 특징을 이용하여 알려지지 않은 악성코드의 저자 특징과 비교를 통해 악성코드를 식별하기 위한 연구 분야이다. 바이너리를 이용한 저자 식별 방법은 실질적으로 배포된 악성코드를 대상으로 수집 및 분석이 용이하다는 장점을 갖으나, 소스코드를 이용한 방법보다 특징 활용 범위가 제한된다. 이러한 한계점으로 인해 다수의 저자를 대상으로 정확도가 저하된다는 단점을 갖는다. 본 연구는 바이너리 저자 식별에 한계점을 보완하기 위하여 '바이너리로부터 의미론적 특징 정의'와 '서바이벌 네트워크 개념을 이용한 중복 특징에 대한 허용 범위 정의' 방법을 제안한다. 제안한 방법은 바이너리 정보로부터 Opcode 기반의 그래프 특징을 정의하며, 서바이벌 네트워크 개념을 이용하여 저자별 고유 특징을 선택할 수 있는 허용범위를 정의하는 것이다. 이를 통해 저자별 특징 정의 및 특징 선택 방법을 하나의 기술로 정의할 수 있으며, 실험을 통해 선행연구보다 5.0%의 정확도 향상과 함께 소스코드 기반 분석과 동일한 수준의 정확도 도출이 가능함을 확인할 수 있었다.

클래스 구조 그래프 비교를 통한 프로그램 표절 검사 방법 (A Method for Detecting Program Plagiarism Comparing Class Structure Graphs)

  • 김연어;이윤정;우균
    • 한국콘텐츠학회논문지
    • /
    • 제13권11호
    • /
    • pp.37-47
    • /
    • 2013
  • 코드 이동성이 증가함에 따라 코드 도용이 문제가 되고 있으며 이를 대처하기 위해 프로그램 비교를 위한 연구가 많이 진행되고 있다. 이 논문은 클래스 구조를 이용하여 Java 프로그램의 표절을 검사하는 방법을 제안한다. 제안 방법은 멤버 변수와 메소드 간의 참조 관계를 나타내는 그래프를 생성한다. 변수 참조 관계는 이분 그래프 형태로 나타나는데 이렇게 생성된 그래프를 대상으로 그래프 동형 검사를 적용하여 프로그램 간의 유사도를 측정한다. 이 논문에서는 제안 방법의 효과를 입증하기 위해 2012년 부산대학교 객체지향 프로그래밍 과제로 제출된 Java 프로그램을 대상으로 실험하였다. 그리고 제안 방법의 정확도를 평가하기 위해 기존 유사도 검사 프로그램인 JPlag와 Stigmata를 대상으로 F-measure 지표를 이용해 비교하였다. 그 결과 제안 방법의 F-measure가 JPlag보다 0.17, Stigmata보다 0.34 높은 것으로 나타났다.

과학기술 논문의 참고문헌 텍스트 정보를 활용한 기술의 군집화 (Technology Clustering Using Textual Information of Reference Titles in Scientific Paper)

  • 박인채;김송희;윤병운
    • 산업경영시스템학회지
    • /
    • 제43권2호
    • /
    • pp.25-32
    • /
    • 2020
  • Data on patent and scientific paper is considered as a useful information source for analyzing technological information and has been widely utilized. Technology big data is analyzed in various ways to identify the latest technological trends and predict future promising technologies. Clustering is one of the ways to discover new features by creating groups from technology big data. Patent includes refined bibliographic information such as patent classification code whereas scientific paper does not have appropriate bibliographic information for clustering. This research proposes a new approach for clustering data of scientific paper by utilizing reference titles in each scientific paper. In this approach, the reference titles are considered as textual information because each reference consists of the title of the paper that represents the core content of the paper. We collected the scientific paper data, extracted the title of the reference, and conducted clustering by measuring the text-based similarity. The results from the proposed approach are compared with the results using existing methodologies that one is the approach utilizing textual information from titles and abstracts and the other one is a citation-based approach. The suggested approach in this paper shows statistically significant difference compared to the existing approaches and it shows better clustering performance. The proposed approach will be considered as a useful method for clustering scientific papers.

클러스터 환경에서의 MPI 기반 병렬 서열 유사성 검색에 관한 연구 (Study on MPI-based parallel sequence similarity search in the LINUX cluster)

  • 홍창범;차정호;이성훈;신승우;박근준;박근용
    • 한국컴퓨터정보학회논문지
    • /
    • 제11권6호
    • /
    • pp.69-78
    • /
    • 2006
  • 생물정보학 연구 있어서 아미노산이나 염기서열에 대한 유사성이나 상동성을 찾아내는 작업은 유전자의 기능에 대한 예측이나 단백질 구조를 예측하는 연구의 기반이 된다. 이러한 서열 데이터는 컴퓨터의 도입으로 매우 빠르게 증가하고 있다. 이러한 시점에서 서열에 대한 검색 속도는 매우 중요한 요소이기 때문에 대량의 서열정보를 다루기 위해서는 SMP(Sysmmetric Multi-Processors) 컴퓨터나 클러스터를 이용하고 있다. 본 논문에서는 서열 검색에 사용되는 BLAST(Basic Local Alignment Search Tool)의 속도향상을 위한 방법으로 클러스터 환경에서 병렬화 하는 nBLAST 알고리즘의 병렬화에 대해 제안한다. nBLAST는 기존의 BLAST 소스코드에 대한 수정 없이 병렬라이브러리인 MPI(Message Passing Interface)를 이용하여 질의를 분할하여 병렬화 하기 때문에 환경설정 등의 복잡한 과정을 거치지 않고 손쉽게 BLAST에 알고리즘에 대한 병렬화를 할 수 있다. 또한, 실험을 통하여 28대의 리눅스 클러스터에서 nBLAST를 수행하여 노드 수의 증가에 따른 성능 향상을 확인하였다.

  • PDF