• 제목/요약/키워드: 프로그램 유사도

검색결과 1,309건 처리시간 0.033초

프로그램 복제 검사 시스템 (A Program Reproduction Test System)

  • 정재은;김영철;유재우
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.59-61
    • /
    • 2000
  • 본 논문에서는 프로그램의 복제를 검사하기 위하여 서로다른 두 프로그래의 유사도를 측정하는 시스템을 제시한다. 지금까지 유사도 평가 방법은 일반 텍스트에 국한되어 있고 프로그램에 대한 유사도 검사는 극히 드물다. 본 시스템은 서로 다른 프로그램을 입력받아 분석 과정을 거쳐 구문 트리를 구성하고, 생성괸 구문트리와 유사도 평가 시스템을 이용하여 프로그램의 유사도를 측정한다. 구문트리를 이용한 유사도 측정은 경제적이고 효율적으로 유사도를 검출해 낼 수 있다는 것을 평가에서 보여준다.

  • PDF

프로그램 유사도 평가를 이용한 유사 프로그램의 그룹 짓기 (Grouping of Similar Programs using Program Similarity Evaluation)

  • 유재우;김영철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권1호
    • /
    • pp.82-88
    • /
    • 2004
  • 프로그램 과제물과 같은 많은 프로그램을 모두 일일이 비교하는 것은 비용이 많이 든다. 더군다나 검수자가 과제물을 검사한다든가, 점수를 부여하고자 한다면 더욱 많은 시간이 요구된다. 물론 검수자가 많은 시간을 두고 평가해도 객관성이 떨어질 수도 있다. 이러한 문제점은 프로그램 과제물에 대해서 유사한 프로그램으로 서로 묶어 놓는다면 쉽게 해결할 수 있다. 즉, 유사한 프로그램으로 서로 묶어놓고 검사한다면 쉽게 검사나 평가가 가능하다. 본 논문에서는 많은 프로그램에 대해서 유사성이 높은 프로그램으로 그룹 짓기(grouping)를 수행하는 알고리즘을 제시하고 구현한다. 그룹 짓기 알고리즘은 (9)에서 제시한 프로그램 유사도 평가 알고리즘을 이용하여 유사도를 측정한 후, 유사성이 높은 프로그램을 그룹 짓기를 수행한다. 이 그룹 짓기 알고리즘을 이용하면 n개의 프로그램에 대해서 최대 n(n-1)/2 번에서 최소 (n-1)번까지 비교 횟수를 줄일 수가 있다. 본 논문의 실험 및 평가 부분에서는 실제로 모 대학의 과제물 10개를 추출하여 유사성을 기준으로 실험 평가한 결과를 보여준다.

안드로이드 앱 도용 탐지를 위한 유사도 비교 연구 (A Study on Similarity Comparison for Detecting Theft of Android Application)

  • 박세익;박희광;최성하;박희완
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 추계학술발표대회
    • /
    • pp.868-871
    • /
    • 2011
  • 소프트웨어 버스마크는 모든 프로그램에 이미 포함되어 있으며 서로 다른 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 소프트웨어 버스마크를 이용하여 안드로이드 앱 사이의 유사도를 측정하고 코드 도용 탐지에 활용하는 방법을 제안하였고, 다양한 카테고리의 안드로이드 앱에 대한 유사도 비교 실험을 하였다. 먼저, 같은 개발사에서 만든 유사한 프로그램을 대상으로 버스마크 유사도를 측정한 결과 유사도가 매우 높다는 것을 확인하였다. 또한, 서로 다른 개발사에서 만든 유사한 카테고리의 프로그램을 비교하였고 비슷한 프로그램이라도 서로 다른 개발사에서 만든 앱이기 때문에 유사도가 낮다는 것을 확인하였다. 마지막으로, 서로 다른 개발사의 유사한 프로그램들 중에서 유사도가 높게 측정된 경우를 탐지한 실험 결과를 제시하였다. 이러한 유사 앱들은 실제로 공통 클래스를 함께 포함하고 있었다. 실험 결과들을 바탕으로 소프트웨어 버스마크가 안드로이드 앱 사이의 공통 클래스를 탐지하는데 활용될 수 있음을 확인하였고, 더 나아가 안드로이드 앱에서의 코드 도용을 탐지하는 목적으로도 활용될 수 있음을 보여주었다.

AST를 이용한 프로그램 유사도 평가 시스템 설계 (A Design of the Similarity Evaluation System using Abstract Syntax Tree)

  • 정재은;김영철;김상헌;유재우
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.430-432
    • /
    • 1999
  • 본 논문에서는 AST(Abstract Syntax Tree)를 이용하여 서로 다른 프로그램의 유사도를 측정하는 방법을 제시한다. 지금까지 유사도 평가 방법은 거의 제시되지 않고 프로그램의 비교평가 연구는 찾아볼 수가 없다. 본 시스템은 서로 다른 여러 프로그램을 입력받아 파싱함으로써 AST를 생성하여 생성된 AST를 유사도 측정에 이용한다. 따라서 다른 비교 측정 시스템보다 비용과 속도 면에서 경제적이고 빠르게 유사도를 검출해 낼 수 있으며, 또한 신속히 평가 결과를 학생들에게 피드백 함으로써 큰 학습성과를 기대할 수 있다.

  • PDF

재귀적 지역정렬을 이용한 프로그램 표절 탐색 (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

제한된 프로그램 소스 집합에서 표절 탐색을 위한 적응적 알고리즘 (An Adaptive Algorithm for Plagiarism Detection in a Controlled Program Source Set)

  • 지정훈;우균;조환규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (B)
    • /
    • pp.580-585
    • /
    • 2006
  • 본 논문에서는 대학생들의 프로그래밍 과제물이나 프로그래밍 경진대회에 제출된 프로그램과 같이 동일한 기능을 요구받는 프로그램 소스 집합들에서 표절 행위가 있었는지를 탐색하는 새로운 알고리즘을 제시한다. 본 논문에서는 프로그램의 소스 집합에서 추출된 키워드들의 빈도수에 기반한 로그 확률값을 가중치로 하는 적응적(adaptive) 유사도 행렬을 만들어 이를 기반으로 주어진 프로그램의 유사구간을 탐색하는 지역정렬(local alignment) 방법을 소개한다. 우리는 10여개 이상의 프로그래밍 대회에 제출된 실제 프로그램으로 본 방법론을 실험하였다. 실험결과 이 방법은 이전의 고정적 유사도 행렬(일치 +1, 불일치 -1, 갭(gap)을 이용한 일치 -2)에 의한 유사구간 탐색에 비하여 여러 장점이 있음을 알 수 있었으며, 보다 다양한 표절탐색 목적으로 제시한 적응적 유사도 행렬이 응용될 수 있음을 알 수 있었다.

  • PDF

프로그램 유사도 평가 알고리즘 (A Program Similarity Evaluation Algorithm)

  • 김영철;황석찬;최재영
    • 인터넷정보학회논문지
    • /
    • 제6권1호
    • /
    • pp.51-64
    • /
    • 2005
  • 본 논문에서는 서로 다른 두 개의 C 프로그램의 구문트리를 이용하여 유사도를 평가하는 시스템을 제시한다. 구문 트리를 이용하는 방법은 기존의 유사도 평가 방법과는 달리 들여쓰기, 여백, 설명문 등 프로그램과 무관한 프로그램 스타일의 변화에 민감하지 않으며, 문장, 코드 블록, 함수 등의 순서 바꾸기 같은 제어 구조의 변경에 민감하지 않은 특징을 가지고 있다. 그리고 프로그램을 파싱함으로써 구문 오류도 함께 검사찬 수 있는 장점을 제공한다. 논문에서는 유사도를 평가하기 위한 알고리즘과 함께 프로그램의 비교횟수를 줄이기 위한 그룹 짓기 알고리즘도 같이 제공한다. 실험부분에서는 구문트리 비교방법을 이용한 프로그램의 유사도 평가 결과와, 그룹 짓기를 수행한 후에 많은 비교 횟수를 줄일 수 있다는 것을 보여준다.

  • PDF

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

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

제한된 프로그램 소스 집합에서 표절 탐색을 위한 적응적 알고리즘 (An Adaptive Algorithm for Plagiarism Detection in a Controlled Program Source Set)

  • 지정훈;우균;조환규
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권12호
    • /
    • pp.1090-1102
    • /
    • 2006
  • 본 논문에서는 대학생들의 프로그래밍 과제물이나 프로그래밍 경진대회에 제출된 프로그램과 같이 동일한 기능을 요구받는 프로그램 소스 집합들에서 표절행위가 있었는지를 탐색하는 새로운 알고리즘을 제시하고 있다. 지금까지 보편적으로 사용되어 온 대표적인 알고리즘은 부분 스트링간의 완전 일치를 통한 Greedy-String-Tiling이나 두 스트링간의 지역정렬(local alignment)을 이용한 유사도 분석이 주된 방법론이었다. 본 논문에서는 해당 프로그램 소스의 집합에서 추출된 키워드들의 빈도수에 기반한 로그 확률값을 가중치로 하는 적응적(adaptive) 유사도 행렬을 만들어 이를 기반으로 주어진 프로그램의 유사구간을 탐색하는 새로운 방법을 소개한다. 우리는 10여개 이상의 프로그래밍 대회에서 제출된 실제 프로그램으로 본 방법론을 실험해 보았다. 실험결과 이 방법은 이전의 고정적 유사도 행렬(match이면 +1, mismatch이면 -1, gap이면 -2)에 의한 유사구간 탐색에 비하여 여러 장점이 있음을 알 수 있었으며, 제시한 적응적 유사도 행렬을 보다 다양한 표절탐색 목적으로 사용할 수 있음을 알 수 있었다.

감정 대상 소프트웨어의 업그레이드 여부 판정을 위한 감정 방법 (Appraisal method for Determining Whether to Upgrade Software for Appraisal)

  • 전병태;정연서
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제16권1호
    • /
    • pp.13-19
    • /
    • 2020
  • 사회가 복잡해지고 첨단 사회로 갈수록 저작권 침해 사례는 증가하고 있다고 볼 수 있다. 소프트웨어 저작권 분쟁 중에는 소프트웨어가 복제되어 업그레이드 소프트웨어로 만들어 졌는지 판단에 대한 분쟁이 있을 수 있다. 본 논문에서는 소프트웨어 업그레이드 여부에 판정에 대한 분석 방법을 제안하고자 한다. 소프트웨어 업그레이드 분석을 위하여 소프트웨어 동일 유사성 분석 기법을 이용하였다. 분석 대상 프로그램은 서버, 관리 프로그램, 라즈베리 PC 프로그램들을 대상한다. 첫번째 분석은 프로그램들의 생성 정보와 내용의 일치성을 확인한다. 그리고 제출된 프로그램과 현장에 설치된 프로그램간의 기능과 화면 구성에 대한 유사성 여부를 분석한다. 두 번째 비교 분석은 동일한 환경에서 두 개의 프로그램을 동작을 시켜 유사성을 비교 분석한다. 비교 분석 결과 2 개의 프로그램은 동작과 구성화면이 동일함을 확인되었다. 그리로 한 몇 개의 파일에서 사소한 차이는 발견되었으나 2개 프로그램은 대부분 동일하거나 거의 유사한 소스 코드를 이용하여 제작된 것을 확인하였다. 따라서 본 프로그램은 업그레이드 프로그램으로 판정 할 수 있다.