• Title/Summary/Keyword: program similarity

Search Result 310, Processing Time 0.027 seconds

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.

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.

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.

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

  • Kim Young-Chul;Hwang Seog-Chan;Choi Jaeyoung
    • Journal of Internet Computing and Services
    • /
    • v.6 no.1
    • /
    • pp.51-64
    • /
    • 2005
  • In this paper, we introduce a system for evaluating similarity of C program source code using method which compares syntax-trees each others. This method supposes two characteristic features as against other systems. It is not sensitive for program style such as indentation, white space, and comments, and changing order of control structure like sentences, code block, procedures, and so on. Another is that it can detect a syntax-error cause of using paring technique, We introduce algorithms for similarity evaluation method and grouping method that reduces the number of comparison, In the examination section, we show a test result of program similarity evaluation and its reduced iteration by grouping algorithm.

  • PDF

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.

Exploratory Methodology for Acquiring Architectural Plans Based on Spatial Graph Similarity

  • Ham, Sungil;Chang, Seongju;Suh, Dongjun;Narangerel, Amartuvshin
    • Architectural research
    • /
    • v.17 no.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
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.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 (프로그램 코드 분석을 위한 유사도 측정 및 가시화 기법)

  • Lee, Youngjoo;Lee, Jeongjin
    • Journal of Korea Multimedia Society
    • /
    • v.16 no.7
    • /
    • pp.802-809
    • /
    • 2013
  • In this paper, we propose the similarity measurement method between two program codes by counting the frequency and length of continuous patterns of specifiers and keywords, which exist in two program codes. In addition, we propose the visualization method of this analysis result by formal concept analysis. Proposed method considers adjacencies of specifiers or keywords, which have not been considered in the previous similarity measurements. Proposed method can detect the plagiarism by analyzing the pattern in each function regardless of the order of function call and execution. In addition, the result of the similarity measurement is visualized by the lattice of formal concept analysis to increase the user understanding about the relations between program codes. Experimental results showed that proposed method succeeded in 96% plagiarism detections. Our method could be applied into the analysis of general documents.

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

  • 오수철;조규갑
    • Proceedings of the Korean Operations and Management Science Society Conference
    • /
    • 1995.04a
    • /
    • 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 (프로그램 유사도 평가를 이용한 유사 프로그램의 그룹 짓기)

  • 유재우;김영철
    • 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.