• Title/Summary/Keyword: 프로그램 유사성

Search Result 750, Processing Time 0.233 seconds

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

  • Chun, Byung-Tae;Jeong, Younseo
    • Journal of Software Assessment and Valuation
    • /
    • v.16 no.1
    • /
    • pp.13-19
    • /
    • 2020
  • It can be seen that the infringement of copyright cases is increasing as the society becomes more complex and advanced. During the software copyright dispute, there may be a dispute over whether the software is duplicated and made into upgraded software. In this paper, we intend to propose an analysis method for determining whether to upgrade software. For the software upgrade analysis, a software similarity analysis technique was used. The analysis program covers servers, management programs, and Raspberry PC programs. The first analysis confirms the correspondence between program creation information and content. In addition, it analyzes the similarity of functions and screen composition between the submitted program and the program installed in the field. The second comparative analysis compares and analyzes similarities by operating two programs in the same environment. As a result of comparative analysis, it was confirmed that the operation and configuration screens of the two programs were identical. Thus, minor differences were found in a few files, but it was confirmed that the two programs were mostly made using the same or almost similar source code. Therefore, this program can be judged as an upgrade program.

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

  • 장성순;서선애;이광근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • 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 (프로그램 유사도 평가를 이용한 유사 프로그램의 그룹 짓기)

  • 유재우;김영철
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.1
    • /
    • pp.82-88
    • /
    • 2004
  • Comparing many programs like programming assignments one by one requires many costs. Moreover, if the checker would evaluate or grade assignments, much more time will be required. Even through the checker invest much time, fairness is not always guaranteed. These problems can be solved easily by grouping similar programs. So, programs after grouping can be easily evaluated and graded. In this paper, we propose and implement algerian performing grouping by similarity on many programs. The grouping algorithm evaluates similarity using algorithm proposed in (9), and performs a grouping following high similarity order. By using this grouping algorithm, the number of comparison among N programs can be reduced from N-1 times to N(N-1)/2 times. In the part of experiment and evaluation of this paper, we actually showed evaluation result by similarity using randomly 10 programming assignments at the university.

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

  • Chun, Byung-Tae;Lee, Chang-Hoon
    • Journal of Software Assessment and Valuation
    • /
    • v.15 no.2
    • /
    • pp.1-7
    • /
    • 2019
  • Program similarity analysis consists of substantial similarity and access. Substantial similarity is a judgment of how similarly the program source code is quantitatively. Access determines the degree of similarity by analyzing comments in the program or other contextual evidence. In the case of manuals, it may be the subject of legitimacy analysis. Manuals can be divided into three types as follows. First, a master manual is a document created during the development stage of a product. It is a user manual that contains all the functionality of the product and its derivatives. Second, the customer manual is a manual that is open only to the primary customer and orderer. Third, the user manual is a document that is applied to the final OEM production stage and is open to the end purchaser. In this paper, we compare the master manual seized from the suspect and the master manual provided by the suspect on the Internet. It then determines how similar this master manual is and includes the victim company's original and property values.

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

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

  • PDF

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

  • Chun, Byung-Tae
    • Journal of Software Assessment and Valuation
    • /
    • v.17 no.1
    • /
    • pp.11-16
    • /
    • 2021
  • The importance of software is increasing due to the development of information and communication, and software copyright disputes are also increasing. In this paper, the source of the submitted programs and the files necessary for the execution of the program were taken as the scope of analysis. The large-capacity file transfer solution program to be analyzed provides additional functions such as confidentiality, integrity, user authentication, and non-repudiation functions through digital signature and encryption of data.In this paper, we analyze the program A, program B, and the program C. In order to calculate the program similarity rate, the following contents are analyzed. Analyze the similarity of the package structure, package name, source file name in each package, variable name in source file, function name, function implementation source code, and product environment variable information. It also calculates the overall similarity rate of the program. In order to check the degree of agreement between the package structure and the package name, the similarity was determined by comparing the folder structure. It also analyzes the extent to which the package structure and package name match and the extent to which the source file (class) name within each package matches.

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

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

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

  • Lim, Hyun-Il
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.2 no.8
    • /
    • pp.317-326
    • /
    • 2013
  • In this paper, we present an effective method for comparing control flow graphs which represent static structures of binary programs. To compare control flow graphs, we measure similarities by comparing instructions and syntactic information contained in basic blocks. In addition, we also consider similarities of edges, which represent control flows between basic blocks, by edge extension. Based on the comparison results of basic blocks and edges, we match most similar basic blocks in two control flow graphs, and then calculate the similarity between control flow graphs. We evaluate the proposed edge extension method in real world Java programs with respect to structural similarities of their control flow graphs. To compare the performance of the proposed method, we also performed experiments with a previous structural comparison for control flow graphs. From the experimental results, the proposed method is evaluated to have enough distinction ability between control flow graphs which have different structural characteristics. Although the method takes more time than previous method, it is evaluated to be more resilient than previous method in comparing control flow graphs which have similar structural characteristics. Control flow graph can be effectively used in program analysis and understanding, and the proposed method is expected to be applied to various areas, such as code optimization, detection of similar code, and detection of code plagiarism.

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

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

  • PDF

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

  • Seo Sunae;Han Taisook
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.4
    • /
    • pp.290-299
    • /
    • 2005
  • Stealing the source code of a program is a serious problem not only in a moral sense but also in a legal sense. However, it is not clear whether the code of a program is copied from another or not. There was a program similarity checker detecting code-copy by comparing the syntax trees of programs. However this method has a limitation that it cannot detect the code-copy attacks when the attacker modifies the syntax of the program on purpose. We propose a program similarity check by program control graph, which reveals not only syntax information but also control dependancy. Our method can detect the code-copy attacks that do not change control dependancy Moreover, we define what code-copy means and establish the connection between code-copy and similarity of program control graph: we prove that two programs are related by copy congruence if and only if the program control graphs of these programs are equivalent. We implemented our method on a functional programming language, nML. The experimental results show us that the suggested method can detect code similarity that is not detected by the existing method.