• 제목/요약/키워드: Software Similarity

검색결과 399건 처리시간 0.06초

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

  • Park, Seongsoo;Han, Hwansoo
    • Journal of KIISE
    • /
    • 제43권10호
    • /
    • pp.1067-1072
    • /
    • 2016
  • Software birthmarks, which are unique characteristics of the software, are used to detect software plagiarism or software similarity. Generally, software birthmarks are divided into static birthmarks or dynamic birthmarks, which have evident pros and cons depending on the extraction method. In this paper, we propose a method for extracting the API sequence birthmarks using a dynamic analysis and similarity detection between the executable codes. Dynamic birthmarks based on API sequences extract API functions during the execution of programs. The extracted API sequences often include all the API functions called from the start to the end of the program. Meanwhile, our dynamic birthmark scheme extracts the API functions only called directly from the executable code. Then, it uses a sequence alignment algorithm to calculate the similarity metric effectively. We evaluate the birthmark with several open source software programs to verify its reliability and credibility. Our dynamic birthmark scheme based on the extracted API sequence can be utilized in a similarity test of executable codes.

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
    • /
    • 제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 (감정 대상 규격서의 수정 및 추가에 대한 분석 방법)

  • Chun, Byung-Tae
    • Journal of Software Assessment and Valuation
    • /
    • 제16권2호
    • /
    • pp.37-44
    • /
    • 2020
  • As the information society develops, various cases of copyright infringement have occurred. In many disputes between companies, software similarity appraisal is dominated. This thesis is a study on the method of calculating the similarity of the standards subject to appraisal. In other words, it is a study to calculate the amount of revision and addition of the specification to be assessed. The analysis method compares the table of contents of both specifications and finds the same or similar part. The similarity weight is determined according to the degree of similarity. Weights identify and assign the degree of similarity between the expert's expertise and the specification. If it is completely newly added, the similarity weight is 1, if it is partially modified, the similarity weight is 0.4, and if it is almost the same as before, it is calculated by giving a weight of 0.05. Through this paper, it was found that the result of calculating the similarity to the specification is 21.2 pages.

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

  • Chun, Byung-Tae
    • Journal of Software Assessment and Valuation
    • /
    • 제17권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.

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

  • Chun, Byung-Tae;Jeong, Younseo
    • Journal of Software Assessment and Valuation
    • /
    • 제16권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.

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

  • Bahng, Hyo-Keun;Cha, Tae-Own;Chung, Tai-Myoung
    • The KIPS Transactions:PartD
    • /
    • 제13D권6호
    • /
    • pp.823-832
    • /
    • 2006
  • The Purpose of Similarity(Reproduction) Degree Appraisal is to determine the equality or similarity between two programs and it is a system that presents the technical grounds of judgment which is necessary to support the resolution of software intellectual property rights through expert eyes. The most important things in proceeding software appraisal are not to make too much of expert's own subjective judgment and to acquire the accurate-appraisal results. However, up to now standard research and development for its systematic techniques are not properly made out and as different expert as each one could approach in a thousand different ways, even the techniques for software appraisal types have not exactly been presented yet. Moreover, in the analyzing results of all the appraisal cases finished before, through a practical way, we blow that there are some damages on objectivity and accuracy in some parts of the appraisal results owing to the problems of existing appraisal procedures and techniques or lack of expert's professional knowledge. In this paper we present the model for the standardization of software-similarity-appraisal techniques and objective-evaluation methods for decreasing a tolerance that could make different results according to each expert in the same-evaluation points. Especially, it analyzes and evaluates the techniques from various points of view concerning the standard appraisal process, setting a range of appraisal, setting appraisal domains and items in detail, based on unit processes, setting the weight of each object to be appraised, and the degree of logical and physical similarity, based on effective solutions to practical problems of existing appraisal techniques and their objective and quantitative standardization. Consequently, we believe that the model for the standardization of software-similarity-appraisal techniques will minimizes the possibility of mistakes due to an expert's subjective judgment as well as it will offer a tool for improving objectivity and reliability of the appraisal results.

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

  • Lim, Hyun-il
    • Journal of Digital Contents Society
    • /
    • 제19권7호
    • /
    • pp.1357-1363
    • /
    • 2018
  • In addition to advances in information technology, machine learning approach is applied to a variety of applications, and is expanding to a variety of areas. In this paper, we propose a software analysis method that applies linear regression to analyse software similarity from the code distribution of the software. The characteristics of software can be expressed by instructions contained within the program, so the distribution information of instructions is used as learning data. In addition, a learning procedure with the learning data generates a linear regression model for software similarity analysis. The proposed method is evaluated with real world Java applications. The proposed method is expected to be used as a basic technique to determine similarity of software. It is also expected to be applied to various software analysis techniques through machine learning approaches.

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

  • Park, Daeshin;Jie, Hyunho;Park, Youngsu;Hong, JiMan
    • Smart Media Journal
    • /
    • 제4권2호
    • /
    • pp.34-45
    • /
    • 2015
  • The illegal copy of Windows software is one of the problems, because Windows is the most popular operating system in the country. The illegal copy can be infringe a software copyright, and software birthmark is one of solutions which is protecting software copyright. Software birthmark is a technique to distinguish software piracy using feature information from software. The type of software birthmark can be differentiated between static birthmark and dynamic birthmark through an extraction method. Static birthmark and dynamic birthmark have strengths and weaknesses. In this paper, we propose similarity measurement technique using dynamic birthmark based on API, and we explain extraction process of dynamic birthmark. In addition, we have verified that the proposed similarity measurement technique meet resilience and credibility through experiment. Furthermore, we saw that proposed measurement technique better than existing measurement technique.

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

  • Kim, Tae-Hee;Kang, Moon-Seol
    • The Transactions of the Korea Information Processing Society
    • /
    • 제3권6호
    • /
    • pp.1443-1452
    • /
    • 1996
  • In this paper, we propose a semantic similarity measure for reusable software components, which aims to provide the automatic classification process of reusable to be stored in the structure of a software library, and to provide an efficient retrieval method of the software components satisfying the user's requirements. We have identified the facets to represent component characteristics by extracting information from the component descriptions written in a natural language, composed the software component identifiers from the automatically extracted terms corresponding to each facets, and stored them which the components in the nearest locations according to the semantic similarity of the classified components. In order to retrieve components satisfying user's requirements, we measured a semantic similarity between the queries and the stored components in the software library. As a result of using the semantic similarity to retrieve reusable components, we could not only retrieve the set of components satisfying user's queries. but also reduce the retrieval time of components of user's request. And we further improve the overall retrieval efficiency by assigning relevance ranking to the retrieved components according to the degree of query satisfaction.

  • PDF

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

  • Kim, Si-Yeol
    • Journal of Software Assessment and Valuation
    • /
    • 제15권1호
    • /
    • pp.25-35
    • /
    • 2019
  • In Korea, the calculation of quantitative similarity is commonly used to gauge the substantial similarity of computer programs. Substantial similarity should be assessed by considering the quantity and quality of areas that show similarity, but in practice, qualitative aspects are reflected by multiplying the weighted value in the calculation of quantitative similarity. However, such a practical method cannot be deemed adequate, considering the fundamental characteristic of the judgment on substantial similarity, which holds that the quantitative and qualitative aspects of similar areas should be considered on an equal footing. Thus, this study pointed out the issue regarding the use of weighted value and sought appropriate ways to take into account qualitative aspects when assessing the substantial similarity of computer programs.