• 제목/요약/키워드: program similarity

검색결과 309건 처리시간 0.019초

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

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

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

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

감정대상 프로그램의 마스터 매뉴얼 유사성 비교에 관한 연구 (A Study on the Comparison of Similarity between Master Manuals of Appraisal Program)

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

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

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

  • PDF

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

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

Exploratory Methodology for Acquiring Architectural Plans Based on Spatial Graph Similarity

  • Ham, Sungil;Chang, Seongju;Suh, Dongjun;Narangerel, Amartuvshin
    • Architectural research
    • /
    • 제17권2호
    • /
    • pp.57-64
    • /
    • 2015
  • In architectural planning, previous cases of similar spatial program provide important data for architectural design. Case-based reasoning (CBR) paradigm in the field of architectural design is closely related to the designing behavior of a planner who makes use of similar architectural designs and spatial programs in the past. In CBR, spatial graph can be constituted with most fundamental data, which can provide a method of searching spatial program by using visual graphs. This study developed a system for CBR that can analyze the similarity through graph comparison and search for buildings. This is an integrated system that is able to compare space similarity of different buildings and analyze their types, in addition to the analysis on a space within a single structure.

Software Similarity Measurement based on Dependency Graph using Harmony Search

  • Yun, Ho Yeong;Joe, Yong Joon;Jung, Byung Ok;Shin, Dong myung;Bahng, Hyo Keun
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권12호
    • /
    • pp.1-10
    • /
    • 2016
  • In this paper, we attempt to prevent certain cases by tracing a history and making genogram about open source software and its modification using similarity of source code. There are many areas which use open source software actively and widely, and open source software contributes their development. However, there are many unconscious cases like ignoring license or intellectual properties infringe which can lead litigation. To prevent such situation, we analyze source code similarity using program dependence graph which resembles subgraph isomorphism problem, a typical NP-complete problem. To solve subgraph isomorphism problem, we utilized harmony search of metaheuristic algorithm and compared its result with a genetic algorithm. For the future works, we represent open source software as program dependence graph and analyze their similarity.

프로그램 코드 분석을 위한 유사도 측정 및 가시화 기법 (A Similarity Measurement and Visualization Method for the Analysis of Program Code)

  • 이영주;이정진
    • 한국멀티미디어학회논문지
    • /
    • 제16권7호
    • /
    • pp.802-809
    • /
    • 2013
  • 본 논문에서는 프로그래밍 언어에 정의되는 지정자와 키워드가 프로그램 코드 상에서 연속적인 패턴으로 나타나게 될 때, 해당 연속 패턴들의 빈도와 길이를 측정하여 두 코드 사이의 유사성을 측정하는 기법을 제안한다. 또한, 이러한 분석 결과를 정형적 개념 분석 기법을 이용하여 가시화하는 기법을 제안한다. 제안 기법은 기존의 유사도 측정 기법에서는 고려하지 않았던 단어 인접성을 유사도 측정에 반영한다. 함수 단위로 지정자와 키워드 패턴을 이용하여 함수의 호출 순서나 수행 순서에 상관없이 표절을 탐지할 수 있다. 또한, 유사도 측정 결과는 정형적 개념 분석 기법을 이용하여 격자(lattice)로 시각화되어 사용자의 이해도를 높일 수 있다. 실험 결과 제안 기법은 96%의 표절 탐지 성공률을 보여주었다. 제안 기법은 프로그램 코드 뿐만 아니라 일반 문서의 분석에도 적용될 수 있다.

제조셀 형성을 위한 가중치 유사성계수 방법 (A weighted similarity coefficient method for manufacturing cell formation)

  • 오수철;조규갑
    • 한국경영과학회:학술대회논문집
    • /
    • 대한산업공학회/한국경영과학회 1995년도 춘계공동학술대회논문집; 전남대학교; 28-29 Apr. 1995
    • /
    • pp.122-129
    • /
    • 1995
  • This paper presents a similarity coefficient based approach to the problem of machine-part grouping for cellular manufacturing. The method uses relevant production data such as part type, production volume, routing sequence to make machine cells and part families for cell formation. A new similarity coefficient using weighted factors is introduced and an algorithm for formation of machine cells and part families is developed. A comparative study of two similarity coefficients - Gupta and seifoddini's method and proposed method - is conducted. A software program using TURBO C has been developed to verify the implementation.

  • 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개를 추출하여 유사성을 기준으로 실험 평가한 결과를 보여준다.