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

검색결과 748건 처리시간 0.029초

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

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

프로그램 유사성 검사기 (CloneChecker: A Program Similarity Checker)

  • 장성순;서선애;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.334-336
    • /
    • 2001
  • 표절을 쉽게 알아내기 위해, 프로그램 유사성 검사기(CloneChecker)를 만들었다. CloneChecker는 프로그램을 요약해서, 유사성을 계산하고, 비슷한 그룹들로 묶어 낸다. CloneChecker는 두 프로그램의 모든 부 구문트리(abstract syntax sub-tree)들을 서로 비교하므로 구문의 사소한 변화에 민감하지 않으며, 그럼에도 해쉬 함수를 이용하여 빠르게 수행된다. CloneChecker는 실제 강의에서 사용되었으며, C, Java, Scheme, nML로 짜여진 프로그램들에 대해 동작한다.

  • 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 the Comparison of Similarity between Master Manuals of Appraisal Program)

  • 전병태;이창훈
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제15권2호
    • /
    • pp.1-7
    • /
    • 2019
  • 프로그램 유사성 분석은 실질적 유사성과 의거성 분석으로 이루어진다. 실질적 유사성은 프로그램 소스 코드가 정량적으로 어느 정도 유사한가에 대한 판단이다. 의거성은 프로그램내의 주석이나 그 외 여러 가지 정황적 증거를 분석을 통해 유사성 정도를 판단한다. 매뉴얼의 경우, 의거성 분석의 대상이 될 수가 있다. 매뉴얼은 다음과 같이 3종류로 구분될 수 있다. 첫째, 마스터 매뉴얼은 제품의 개발 단계에서 작성하는 문서로서 해당 제품과 해당 제품의 파생 제품에 대한 모든 기능이 포함된 사용 설명서이다. 둘째, 고객 매뉴얼은 1차 고객이자 주문자에게만 공개하는 설명서이다. 셋째, 사용자 매뉴얼은 최종 OEM 생산단계에서 적용되는 문서로써 최종 구매자에게 공개되는 설명서이다. 본 논문에서는 피의자들로부터 압수한 마스터 매뉴얼과 피의자들이 인터넷 상에서 제공하고 있는 마스터 매뉴얼을 비교한다. 그리고 이 마스터 매뉴얼이 얼마나 유사하고 피해 회사만의 독창적이면서 재산적 가치를 포함하는지 여부를 판단한다.

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

대용량 파일 전송 소프트웨어의 동일성 감정 방법 (Appraisal Method for Similarity of Large File Transfer Software)

  • 전병태
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.11-16
    • /
    • 2021
  • 정보통신의 발달로 인하여 소프트웨어의 중요성이 증대되고 있으며, 이에 따른 소프트웨어 저작권 분쟁도 증가하는 추세에 있다. 본 논문은 제출된 프로그램들의 소스와 관련하여 프로그램 수행에 필요한 파일들을 감정범위로 하였다. 분석 대상인 대용량 파일 전송 솔루션 프로그램은 데이터에 대한 전자서명 및 암호화를 통하여 기밀성, 무결성, 사용자 인증, 부인방지 기능 등의 부가 기능을 제공하고 있다. 본 논문에서는 프로그램 A, 프로그램 B, 프로그램 C 3개에 대하여 분석을 수행한다. 프로그램 유사율을 산출하기 위하여 다음과 같은 내용을 분석한다. 패키지의 구조, 패키지 이름, 각 패키지 내 소스파일 이름, 소스파일 내 변수명, 함수명, 함수구현 소스코드, 제품의 환경변수 정보에 대하여 유사 여부를 분석하고 프로그램의 전체 유사율을 산출한다. 패키지 구조 및 패키지 이름이 일치되는 정도를 확인하기 위해, 폴더 구조를 비교하여 유사도 판단을 하였다. 또한 패키지 구조 및 패키지 이름이 어느 정도 일치하는지와 각 패키지 내 소스 파일(클래스) 이름이 어느 정도 일치하는지에 대한 분석을 하였다.

SW복제도 감정을 위한 유사성 탐지도구의 설계 및 구현 (Design and Implementation of the Detection Tool for Calculating the Similarity Degree between Two Computer Programs)

  • 방효근;차태원
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 춘계학술발표대회
    • /
    • pp.485-488
    • /
    • 2008
  • 디지털 시대의 도래와 함께 국내외적으로 SW 및 디지털 콘텐츠로 확대되고 있는 표절과 불법복제 문제의 심각성은 날로 더해가고 있으며, 이에 따른 사회 경제적인 폐해 규모도 급격히 증가하고 있다. 따라서 SW표절과 불법복제로부터 저작권 보호를 위한 적극적 대응 방안으로 SW복제도 감정에 적합하고 유용한 SW시스템 개발의 필요성을 인식하게 되었다. 본 논문에서는 SW복제도 감정, 즉 두 프로그램 사이의 동일 유사성 정도를 판단하기 위해 제안된 유사성 탐지도구의 핵심 설계구조 및 기반 기술 등 전반적인 구현 메커니즘에 관하여 논한다.

에지 확장을 통한 제어 흐름 그래프의 효과적인 비교 방법 (An Effective Method for Comparing Control Flow Graphs through Edge Extension)

  • 임현일
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권8호
    • /
    • pp.317-326
    • /
    • 2013
  • 본 논문에서는 바이너리 프로그램의 정적인 구조를 표현하는 제어 흐름 그래프를 비교하는 방법을 제안한다. 제어 흐름 그래프를 비교하기 위해서 기본 블록에 포함된 프로그램의 명령어 및 구문 정보를 비교한 후 기본 블록 사이의 유사한 정도를 측정한다. 또한, 에지 확장을 통해 기본 블록들 간의 제어 흐름을 표현하는 그래프 에지의 유사성을 함께 반영한다. 각 기본 블록 사이의 유사도 결과를 기반으로 기본 블록을 서로 매칭하고, 기본 블록 사이의 매칭 정보를 이용해서 전체 제어 흐름 그래프의 유사도를 측정한다. 본 논문에서 제안한 방법은 자바 프로그램으로부터 추출한 제어 흐름 그래프를 대상으로 제어 흐름 구조의 유사성에 따라 두 가지 기준으로 실험을 수행하였다. 그리고, 성능을 평가하기 위해서 기존의 구조적 비교 방법을 함께 실험하였다. 실험 결과로부터 에지 확장 방법은 서로 다른 프로그램에 대해 충분한 변별력을 가지고 있음을 확인할 수 있다. 프로그램 비교에 좀 더 많은 시간이 소요되지만, 구조가 유사한 프로그램에 대한 매칭 능력에서 기존의 구조적 비교 방법에 비해 우수한 결과를 보였다. 제어 흐름 그래프는 프로그램의 분석에 다양하게 활용될 수 있으며, 제어 흐름 그래프의 비교 방법은 프로그램의 유사성 비교를 통한 코드의 최적화, 유사 코드 검출, 코드의 도용 탐지 등 다양한 분야에서 응용될 수 있을 것이라 기대된다.

안정하도 평가 및 설계 방법의 개선과 적용 (Improvement and Application of Stable Cannel Analysis and Design)

  • 장은경;지운;안명희
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2017년도 학술발표회
    • /
    • pp.14-14
    • /
    • 2017
  • 안정하도란 하도형성유량이 발생하는 조건에 대해 단면내에서 발생하는 유사량과 유입되는 유사량이 평형상태를 유지하는 단면을 의미하며, 안정하도 평가 및 설계란 현재 단면을 안정하도 단면과 비교하여 평가하거나 안정하도를 만족하는 하상경사와 하폭, 수심을 도출하는 과정을 의미한다. 이러한 안정하도 평가 및 설계는 하천을 정비하거나 복원하는 과정에서 장기적인 하상 평형상태를 고려하기 위해 적용할 수 있으며, 하상 침식 혹은 퇴적에 대해 지점별 평가방법으로 활용 할 수 있다. 안정하도 단면은 상류에서 유입되는 유사량과 대상구간의 발생 유사량의 평형조건에 의해 결정되기 때문에 유입되는 유사량 자료의 정확성과 대상구간 발생 유사량 산정의 정확도가 전체 평가 결과의 신뢰도에 가장 중요한 요소로 작용한다. 그러나 현재까지 활용되어 온 안정하도 단면 계산 방법의 경우 대상구간 발생 유사량 결정을 위한 유사이송공식의 선택이 특정 공식으로 한정되어있어 국내 하상과 적합한 유사이송공식의 적용이 매우 제한적이었다. 따라서 본 연구에서는 이러한 기존의 안정하도 평가 및 설계 방법을 개선하기 위해 다양한 유사이송공식의 적용이 가능한 안정하도 평가 모델의 알고리즘을 제시하였으며, 관련 분야의 실무자가 쉽게 활용 할 수 있도록 사용자 친화적인 사용자 친화적인 안정하도 평가 및 설계 프로그램(Stable Channel Analysis and Design, SCAD)을 개발하였다. 본 연구에서는 기존의 안정하도 단면 계산 방법인 Copeland 방법을 분석하여 새로운 알고리즘을 개발하였으며, 단면 유사량 분석 계산과정에서 자갈하상 공식을 포함한 총 다섯 가지의 유사이송공식을 새롭게 추가하였다. 개발된 SCAD 프로그램은 정확도 및 적용성 향상을 위해 청미천과 내성천 모래하상 구간 그리고 원주천 자갈하상 구간에 대해 시험계산을 수행하였고 평가 결과를 프로그램 개선을 위해 적극 활용하였다. 또한 웹 포팅 프로그램 구축을 통해 다양한 사용자가 특정 웹사이트에서 프로그램에 쉽게 접근할 수 있도록 하였다. 본 연구에서는 개선된 안정하도 평가 및 설계 프로그램을 활용하여 다양한 유사이송공식 선택에 따른 안정하도 산정 결과 값의 변화를 분석하고 그 범위를 정량적으로 제시하였다.

  • PDF

흐름 그래프 형태를 이용한 함수형 프로그램 유사성 비고 (A Program Similarity Check by Flow Graphs of Functional Programs)

  • 서선애;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권4호
    • /
    • pp.290-299
    • /
    • 2005
  • 컴퓨터와 소프트웨어의 사용이 증가하면서, 프로그램 소스의 도용(표절)이 사회적인 문제로 부각되고 있다. 이런 문제를 해결하고자 프로그램의 문법 구조를 비교하여 표절을 찾아내는 방법론이 제안되었지만, 간단한 프로그램 수정에도 표절을 찾아내지 못하는 한계를 가지고 있다 이 연구에서는, 문법 구조적인 정보 뿐 아니라, 프로그램식 간의 수행시 의존 관계를 드러내는 그래프를 이용한 프로그램 표절 감지 시스템을 제안한다. 이 방법론은 문법 정보 뿐 아니라, 수행시 의존 관계까지 비교 대상에 을림으로써, 수행시 의콘 관계를 변화시키지 못하는 프로그램 수정에 대해서도 프로그램 표절을 판별할 수 있다. 또한, 이 연구에서는 표절 프로그램이란 무엇인가를 엄밀하게 정의하고 이 표절 프로그램의 정의와 연구에서 제안된 표:늰 감별 그래프와의 관계를 보였다. 즉, 두 프로그램이 표절이라는 것은 표절 감별 그래프가 일치한다는 긴과 필요 충분 관계가 있음을 증명하였다. 또한 제안된 표절 감별 방법론을 실제적인 프로그래밍 언어인 IML 에 대해서 구현하였다. 구현된 도구를 통해서 실제 표절된 프로그램들을 감별한 결과, 기존의 방법에서 찾기 어려운 프로그램 표절을 제안된 방법론이 다룰 수 있음을 확인하였다.