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

검색결과 394건 처리시간 0.027초

신뢰성 높은 동적 API 시퀀스를 이용한 소프트웨어 유사성 검사 (Software Similarity Detection Using Highly Credible Dynamic API Sequences)

  • 박성수;한환수
    • 정보과학회 논문지
    • /
    • 제43권10호
    • /
    • pp.1067-1072
    • /
    • 2016
  • 실행코드만으로 소프트웨어 간의 유사성을 비교하거나 표절을 검사하기 위해 소프트웨어만의 고유한 특징인 소프트웨어 버스마크를 이용한다. 일반적으로 소프트웨어 버스마크는 추출 방법에 따라 정적 버스마크와 동적 버스마크로 구분되고, 추출된 방법에 따라 장단점이 뚜렷하게 나타난다. 본 논문에서는 동적 분석을 이용하여 API 시퀀스 버스마크를 추출하고 실행코드 간의 유사성 검사에 이용하는 방법을 제안한다. 제안하는 동적 시퀀스 버스마크는 프로그램이 실행되는 과정에서 호출되는 모든 API 함수 및 시스템 호출을 포함하는 기존의 방법과는 다르게 실행코드 내에 정의되어 있는 API 함수만으로 구성된 API 시퀀스를 이용한다. 추출된 동적 버스마크는 프로그램의 시작에서 종료까지 호출되는 API 시퀀스이며 이를 효율적으로 비교하기 위해 서열정렬 알고리즘을 활용한 유사성 척도를 사용한다. 여러 오픈소스 소프트웨어를 비교하여 버스마크의 신뢰성과 강인성을 검증하였다. 제안하는 동적 API 시퀀스 버스마크는 실행코드의 유사성 검사에 용이하게 활용될 수 있을 것으로 기대된다.

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.

감정 대상 규격서의 수정 및 추가에 대한 분석 방법 (Analysis Method for Revision and Addition of the Specification to Appraisal)

  • 전병태
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제16권2호
    • /
    • pp.37-44
    • /
    • 2020
  • 정보화 사회가 발전함으로써 다양한 저작권 침해 사례가 발생하고 있다. 기업간의 여러 분쟁은 소프트웨어 유사도 감정이 대부분을 차지하고 있다. 본 논문은 감정 대상 규격서의 유사도 산정 방법에 관한 연구이다. 즉, 감정 대상 규격서의 수정 및 추가 분량이 어느 정도 인지 산정하는 연구이다. 감정 분석 방법은 양측의 규격서 목차 비교하고 동일 또는 유사 부분을 찾아낸다. 유사 정도에 따라 유사도 가중치를 결정한다. 가중치는 전문가의 전문적 지식과 규격서의 유사 정도를 파악하고 부여한다. 완전히 새로 추가된 경우 유사도 가중치는 1, 일부 수정한 경우 유사도 가중치는 0.4, 기존과 거의 동일한 경우 가중치 0.05를 주어 산정한다. 본 논문을 통하여 규격서에 대한 동일 유사성 산출 결과 21.2 페이지임을 알 수 있었다.

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

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

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

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

소프트웨어 복제도 감정기법의 표준화 모델에 관한 연구 (A Study on the Research Model for the Standardization of Software-Similarity-Appraisal Techniques)

  • 방효근;차태원;정태명
    • 정보처리학회논문지D
    • /
    • 제13D권6호
    • /
    • pp.823-832
    • /
    • 2006
  • 소프트웨어(SW) 복제도 감정의 목적은 두 프로그램 사이의 동일 또는 유사성 정도를 판단하는 것으로, 컴퓨터프로그림 저작권 관련 분쟁해결의 주요한 기술적 판단근거를 제시하는 제도라 할 수 있다. SW감정을 진행함에 있어서 중요한 점은 감정인의 주관적 판단에 편중되지 않도록 하고, 신속 객관적인 감정의 수행으로 정확한 감정결과를 도출해내는 것이다. 그러나 현재까지 체계적인 감정기법의 표준화 연구 및 개발은 미비한 상태이며, SW감정 분야별(유형별) 감정기법 조차 전문 감정인들에 따라 그 접근방법이 천차만별이어서 뚜렷한 표준안이 제시되지 못하고 있다. 또한, 기 수행되었던 감정사례에 대한 실증적 분석 결과, 기존 감정 절차 및 기법의 오류 또는 감정인의 전문지식 결여 등의 문제가 잠재하여 일부 감정결과에 대한 객관성 및 정확성에 손상이 있음을 알 수 있다. 본 논문에서는 감정인에 따라 동일한 평가 항목에 대하여 서로 다른 결과가 도출될 수 있는 오차의 허용치를 감소시키기 위한 객관적인 평가 방법과 정형화된 SW복제도 감정기법의 표준화 모델을 제시한다. 특히, 기존 감정기법의 문제점 해결 및 보완 연구를 기반으로 감정범위의 설정, 감정기준 및 방법, 단위작업 프로세스 기준의 감정영역 및 감정항목 설정, 가중치 부여, 논리적 복제도와 물리적 복제도 산출 등에 초점을 맞추어 감정기법을 분석 평가한다. 따라서 SW복제도 감정 기법의 표준화 모델은 감정인의 주관적 판단에 의한 오류의 가능성을 최소화하고, 감정결과의 객관성 및 신뢰성을 한층 제고하기 위한 도구를 제공할 것이다.

코드 분포의 선형 회귀를 이용한 프로그램 유사성 분석 (Similarity Analysis of Programs through Linear Regression of Code Distribution)

  • 임현일
    • 디지털콘텐츠학회 논문지
    • /
    • 제19권7호
    • /
    • pp.1357-1363
    • /
    • 2018
  • 정보 기술의 발전과 더불어 인공 지능 및 기계 학습 분야는 다양한 응용 분야에서 성능을 인정받고 있으며, 다양한 응용 분야로 확대되고 있다. 본 논문에서는 기계 학습 방법을 응용한 소프트웨어 분석 방법을 제안한다. 소프트웨어의 특성을 표현하기 위해 소프트웨어의 코드 분포를 분석하고 이 정보를 기계 학습 방법인 선형 회귀를 통해 분석함으로써 유사 소프트웨어를 분석할 수 있는 방법을 제안한다. 소프트웨어의 특성은 프로그램 내에 포함된 명령어에 의해 표현될 수 있으며, 명령어의 분포 정보를 학습 데이터로 활용하였다. 또한, 학습 데이터를 통한 학습 과정은 소프트웨어 유사성 분석을 위한 선형 회귀 모델을 구성한다. 본 논문에서 제안한 방법은 구현 및 실험을 통해 정확성을 검증한다. 본 논문에서 제안한 방법은 소프트웨어의 유사성을 판단할 수 있는 기본 기술로 활용될 수 있을 것으로 기대된다. 또한 기계 학습 방법을 통한 소프트웨어 분석 기술에 응용될 수 있을 것으로 기대된다.

API 기반 동적 버스마크를 이용한 윈도우용 소프트웨어의 효율적인 유사도 측정 기법 (Efficient Similarity Measurement Technique of Windows Software using Dynamic Birthmark based on API)

  • 박대신;지현호;박영수;홍지만
    • 스마트미디어저널
    • /
    • 제4권2호
    • /
    • pp.34-45
    • /
    • 2015
  • 윈도우는 국내에서 가장 많이 사용되는 운영체제이기 때문에 윈도우용 소프트웨어를 대상으로 불법 복제가 많이 이루어지고 있고 불법 복제로 인해 소프트웨어 저작권이 침해될 수 있다. 이를 보호하기 위해서 저작권 보호 방법 중 하나인 소프트웨어 버스마크를 사용한다. 소프트웨어 버스마크는 소프트웨어로부터 특정 정보들을 추출하여 소프트웨어간 도용 여부를 판별할 수 있는 기술이며 대상 소프트웨어로 부터 특정 정보를 추출하는 방법에 따라 정적 버스마크와 동적 버스마크로 구별된다. 정적 버스마크와 동적 버스마크는 서로 장단점을 가지고 있지만 본 논문에서는 API 기반 동적 버스마크를 이용한 유사도 측정 기법을 제안하고, 동적 버스마크의 추출 과정을 설명한다. 또한 실험을 통해 제안하는 동적 버스마크의 유사도 측정 기법이 신뢰성과 강인성을 만족하는 것을 확인할 수 있었으며 기존 동적 버스마크의 유사도 측정 기법보다 제안하는 동적 버스마크의 성능이 향상 된 것을 확인할 수 있었다.

소프트웨어 부품의 검색을 위한 의미 유사도 측정 (A Semantic Similarity Measure for Retrieving Software Components)

  • 김태희;강문설
    • 한국정보처리학회논문지
    • /
    • 제3권6호
    • /
    • pp.1443-1452
    • /
    • 1996
  • 본 논문에서는 재사용가능한 소프트웨어 부품의 분류 과정을 자동화하여 라이브 러리에 구조적으로 저장하고, 사용자의 요구사항을 만족하는 부품을 효율적으로 검색 하기 위하여 부품들 사이의 의미 유사도를 측정하는 방법을 제안한다. 자연어로 기술 된 부품 설명서로부터 정보를 획득하여 부품의 특성을 표현하는 패싯을 결정하고, 각 패싯에 해당하는 항목을 자동으로 추출하여 부품 식별자를 구성하며, 분류된 부품들 의 유사성에 따라 비슷한 특성을 갖는 부품들을 인접한 위치에 저장한다. 그리고 사 용자의 요구사항을 만족하는 부품들을 검색하기 위하여 질의와 소프트웨어 라이브러 리에 저장된 부품들 사이의 의미 유사도를 측정한다. 재사용가능한 부품의 검색을 위 하여 의미유사도를 이용함으로써 단순히 사용자의 질의를 만족하는 부품들의 집합을 검색할 뿐만 아니라 질의를 만족하는 정도에 따라 검색된 부품들의 상관순위를 부여 하여 사용자들이 요구하는 부품의 검색 시간이 줄어들고 전체적인 검색 효율이 개선 되었다.

  • PDF

실질적 유사성 판단을 위한 가중치 활용과 질적 분석의 관계 (A Study on the Relationship between Weighted Value and Qualitative Standard in Substantial Similarity)

  • 김시열
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제15권1호
    • /
    • pp.25-35
    • /
    • 2019
  • 우리나라에서 컴퓨터프로그램의 실질적 유사성 여부 판단은 정량적인 유사도를 산출하여 그 결과를 활용하는 방식이 일반적으로 이용된다. 실질적 유사성은 유사한 부분의 양과 질을 고려하여 판단되어야 하는데, 실무에서는 정량적인 유사도 계산 과정에서 가중치를 곱함으로써 유사한 부분의 질을 고려하는 모습을 보인다. 그런데 실질적 유사성 판단과 관련하여 유사한 부분의 양적, 질적인 고려는 동일한 지위에서 순차적으로 이루어져야 한다는 본질적 특징을 고려할 때, 현재와 같은 실무 방식은 적절하다고 할 수 없다. 이에 이와 같은 가중치 활용의 문제를 지적하고, 실질적 유사성 판단을 위한 유사 부분의 질적 평가는 정량적 유사도 판단에 후행하여 그와 동일한 지위에서 이루어져야 함을 제시 및 이를 위한 적절한 실무적 방안을 제언하였다.