KR102104322B1 - 소프트웨어 재사용을 위한 소스코드 비교 방법 - Google Patents

소프트웨어 재사용을 위한 소스코드 비교 방법 Download PDF

Info

Publication number
KR102104322B1
KR102104322B1 KR1020180160559A KR20180160559A KR102104322B1 KR 102104322 B1 KR102104322 B1 KR 102104322B1 KR 1020180160559 A KR1020180160559 A KR 1020180160559A KR 20180160559 A KR20180160559 A KR 20180160559A KR 102104322 B1 KR102104322 B1 KR 102104322B1
Authority
KR
South Korea
Prior art keywords
file
function
list
delete delete
source code
Prior art date
Application number
KR1020180160559A
Other languages
English (en)
Inventor
김종화
Original Assignee
한화시스템 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화시스템 주식회사 filed Critical 한화시스템 주식회사
Priority to KR1020180160559A priority Critical patent/KR102104322B1/ko
Application granted granted Critical
Publication of KR102104322B1 publication Critical patent/KR102104322B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 소프트웨어 재사용을 위한 소스코드 비교 방법에 관한 것으로, 더욱 상세하게는 제1 파일 및 제2 파일에 포함된 소스코드를 각각 함수단위로 구분하여 변경 여부를 확인한다.

Description

소프트웨어 재사용을 위한 소스코드 비교 방법{METHOD FOR COMPARING SOURCE CODE FOR SOFTWARE REUSE}
본 발명은 소프트웨어 재사용을 위한 소스코드 비교 방법에 관한 것으로, 보다 상세하게는 비교하고자 하는 파일의 소스코드를 함수단위로 구분하여 상호 비교할 수 있도록 하는 소프트웨어 재사용을 위한 소스코드 비교 방법에 관한 것이다.
소프트웨어의 재사용이란, 기존의 소프트웨어에서 표준화된 공통부분과 잘 알려진 프로세스를 이용하여, 품질 및 생산성을 향상시키며 새로운 소프트웨어의 생산하는 것을 말한다. 소프트웨어의 재사용을 위해 가장 중요한 것은 기존의 소프트웨어를 구성하는 소스코드의 이해이다.
소스코드의 설계문서가 있는 경우는 소스코드의 이해가 어렵지 않을 것이나, 일반적으로 소프트웨어는 최초 개발된 후 빈번한 수정을 거치므로 설계문서와 소스코드가 일치하지 않는 경우가 많다. 또한, 다양한 사람들의 협업에 의해 개발되는 오픈 소스의 경우, 설계문서를 기대할 수 없고 간단한 기능소개문서를 기초로 소스코드를 이해하여야 하는 경우가 대다수이다.
기능소개문서는 존재하나 설계문서가 존재하지 않는 소프트웨어를 재사용하려고 하는 경우, 전체 소스코드 분석을 통해 소프트웨어를 이해하는 것은 비용과 시간이 많이 소요된다는 문제점이 있다.
한편, 소프트웨어 재상용을 위해 두 개의 파일을 비교해야 하는 경우, 파일 비교 프로그램을 이용하여 두 개의 파일에 대한 전체적인 차이를 비교한다. 이때, 비교는 라인단위로 이루어진다. 그 결과로 두 개의 파일을 모두 보여주면서 차이가 발생하는 라인이 어디인지에 대한 표시를 해준다. 사용자는 이를 통해 차이가 발생하는 부분이 어디인지를 알 수 있다.
하나의 소프트웨어를 다양한 사업에서 재사용하게 되면서 각가의 사업마다 소프트웨어 소스코드는 따로 관리가 되는데, 이 경우 서로 다른 사업에서 서로 다른 변경이 발생하게 되면 시간이 가면서 형상은 당연히 달라지게 된다. 이 경우, 앞서 설명한 기존의 파일 비교 프로그램을 이용하여 소스코드를 비교하면 변경점을 알 수 있다. 그러나, 어느 라인이 변경되었다는 정도만을 알 수 있을 뿐, 어떤 함수가 변경되었는지, 어느 기능이 변경되었는지를 확인할 수는 없다. 그렇기 때문에 이 방식을 사용하는 사용자는 어떤 함수가 변경되었는지, 어느 기능이 변경되었는지를 확인하기 위해서는 변경된 라인의 앞뒤를 직접 찾아봐야만 하기때문에 많은 시간을 소요해야 한다는 문제점이 있다.
따라서, 소프트웨어 재사용을 위해 복수개의 파일을 비교해야 하는 경우, 사용자가 변경된 함수에 대한 정보를 바로 확인할 수 있도록 하는 기술이 개발될 필요가 있다.
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 소프트웨어 재사용을 위해 같은 형상의 소스코드로 시작했지만 서로 다른 방향으로 수정되어 온 소스코드를 비교해야 하는 경우, 사용자가 변경된 함수에 대한 정보를 바로 확인할 수 있도록 하는 소프트웨어 재사용을 위한 소스코드 비교 방법을 제공함에 있다.
또한, 본 발명은 사용자가 어떤 함수가 변경되었는지, 어느 기능이 변경되었는지 등을 확인하기 위해서 변경된 라인의 앞뒤를 직접 찾아볼 필요가 없도록 함으로써 소스코드를 비교하는데 소요되는 시간을 감소시킬 수 있도록 하는 소프트웨어 재사용을 위한 소스코드 비교 방법을 제공함에 있다.
본 발명의 목적은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 소프트웨어 재사용을 위한 소스코드 비교 방법은, 제1 파일 및 제2 파일에 포함된 소스코드를 각각 함수단위로 구분하여 변경 여부를 확인한다.
또한, 본 발명에 따른 소프트웨어 재사용을 위한 소스코드 비교 방법은, 제1 파일 및 제2 파일에 포함된 소스코드를 함수단위로 구분하여 함수를 검출하는 단계; 및 상기 검출된 함수에서 동일한 이름을 갖는 함수의 내용을 비교하여 변경여부를 판단하는 단계를 포함한다.
또한, 본 발명에 따른 소프트웨어 재사용을 위한 소스코드 비교 방법은, 제1 파일 및 제2 파일에 포함된 소스코드를 함수단위로 구분하여 함수를 검출하는 단계; 상기 검출된 적어도 하나 이상의 함수를 함수의 이름과 내용을 포함하는 세트의 형태로 하여 리스트로 각각 생성하는 단계; 및 상기 생성된 리스트에서 동일한 이름을 갖는 함수의 내용을 비교하여 변경 여부를 판단하는 단계를 포함한다.
또한, 본 발명에 따른 소프트웨어 재사용을 위한 소스코드 비교 방법은, 제1 파일 및 제2 파일에 포함된 소스코드를 함수단위로 구분하여 함수를 검출하는 단계; 상기 검출된 적어도 하나 이상의 함수를 함수의 이름과 내용을 포함하는 세트의 형태로 하여 리스트로 각각 생성하는 단계; 상기 내용의 길이값을 미리 설정된 길이값으로 변경하여 상기 각각 생성된 리스트를 갱신하는 단계; 및 상기 갱신된 리스트에서 동일한 이름을 갖는 함수의 내용을 비교하여 변경 여부를 판단하는 단계를 포함한다.
본 발명에 의하면, 소프트웨어 재사용을 위해 같은 형상의 소스코드로 시작했지만 서로 다른 방향으로 수정되어 온 소스코드를 비교해야 하는 경우, 사용자가 변경된 함수에 대한 정보를 바로 확인할 수 있다.
또한, 본 발명에 의하면, 사용자가 어떤 함수가 변경되었는지, 어느 기능이 변경되었는지 등을 확인하기 위해서 변경된 라인의 앞뒤를 직접 찾아볼 필요가 없도록 함으로써 소스코드를 비교하는데 소요되는 시간을 감소시킬 수 있다.
본 발명의 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명에 따른 소스코드 비교 방법을 개략적으로 나타내는 순서도이다.
도 2는 본 발명에 따른 정규표현식을 이용하여 함수 이름을 체크하는 일 예를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 소스코드 비교 시스템의 구성을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 소스코드 비교 방법을 구체적으로 나타내는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 소스코드 비교 결과가 표시된 사용자 인터페이스의 일 예를 나타내는 도면이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기증을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
한편, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
본 발명은 같은 형상의 소스코드로 시작했지만 서로 다른 방향으로 수정되어 온 소스코드를 비교하는 경우, 그 소스코드 파일에서 함수 단위로 구분 및 분석하여 변경점을 확인하고, 어떤 함수가 변경되었는지, 어느 기능에 대한 것인지를 바로 확인할 수 있도록 하기 위한 것이다.
이하에서는 본 발명의 실시예에 따른 소프트웨어 재사용을 위한 소스코드 비교 방법에 대해 첨부된 도면을 참고하여 구체적으로 설명하기로 한다.
도 1은 본 발명에 따른 소스코드 비교 방법을 개략적으로 나타내는 순서도이다.
먼저, 사용자는 두 개의 소스코드 파일을 비교하기 위해서 두 개의 파일을 각각 제1 파일 및 제2 파일로써 입력하여 소스코드를 비교하게 된다.
입력된 제1 파일 및 제2 파일에 포함된 소스코드에서 정규표현식을 이용하여 함수단위로 구분한다(S101).
그 결과는 함수의 이름과 내용으로 이루어진 세트 형식으로 표현될 수 있으며, 각 파일에 대한 모든 세트는 사용자가 확인할 수 있도록 그 목록이 리스트로써 각각 표시될 수 있다.
이후, 리스트에 포함된 각 세트의 내용 부분에 SHA2 해쉬 알고리즘을 수행하여 각 내용 부분의 길이 값을 변경한다(S103).
비록, 리스트에서 동일한 이름을 갖는 함수의 내용을 비교하여, 일치 또는 불일치 여부를 확인할 수 있기는 하지만, 그 내용의 크기는 무한정으로 커질 수 있기 때문에 SHA2 해쉬 알고리즘을 이용하여 내용 부분의 실제 길이 값에 관계없이 미리 정해진 길이의 값으로 길이 값을 변경하는 것이다.
마지막으로, 제1 파일에 대한 리스트 및 제2 파일에 대한 리스트 중 동일한 이름을 갖는 세트끼리 비교하게 되는데, 이때 세트에서 길이 값이 변경된 내용을 상호 비교하여 그 비교 결과를 도출한다(S105).
이로써, 사용자는 제1 파일 및 제2 파일 간 변경점이 있는지 여부는 물론, 어떤 함수가 변경되었는지, 어떤 기능이 변경되었는지 여부를 신속하게 확인할 수 있다.
한편, 비교하고자 하는 두 파일에 대한 각각의 세트 리스트에서 세트의 이름이 서로 동일하다 하더라도 그 함수의 기능이 상이할 수도 있고, 또는 세트의 이름이 서로 상이하다 하더라도 그 함수의 기능이 유사할 수 있기 때문에, 각 세트의 내용에 포함에 문자열을 기반으로 기능의 유사 정도를 별도로 판단함으로써 두 파일에서 유사한 기능을 수행하도록 하는 세트 간의 비교가 이뤄지도록 할 수 있다. 즉, 함수의 이름 뿐만 아니라 실제적인 기능까지 고려하여 변경점이 있는 지 여부를 확인할 수 있도록 함으로써 두 파일에 대한 보다 정확한 비교가 가능하다.
도 2는 본 발명에 따른 정규표현식을 이용하여 함수 이름을 체크하는 일 예를 나타내는 도면이다.
도 2를 참조하면, 소스코드를 구성하는 각 함수는 이름 부분을 시작점으로 하여 정해진 규칙에 따라 정해진 기능을 수행하도록 하는 문자열이 조합으로 구성된다.
앞서 설명한 S101단계에서와 같이, 정규표현식을 이용하여 함수의 이름 부분인 함수의 시작점을 찾아내고, 함수의 시작점을 찾아낸 후에 끝지점이 나올 때까지 라인단위로 잘라내서 그 내용을 저장한다. 이렇게 소스코드 파일의 처음부터 끝까지 분석이 끝나면 함수와 내용으로 이루어진 복수개의 세트들이 리스트로 생성되는 것이다
도 3은 본 발명의 일 실시예에 따른 소스코드 비교 시스템의 구성을 나타내는 블록도이다.
도 3을 참조하면, 소스코드를 비교하기 위한 소스코드 비교 시스템(300)은 생성부(310), 변경부(330) 및 비교부(350)을 포함한다.
생성부(310)는 비교하고자 하는 파일로써 제1 파일 및 제2 파일이 입력되면, 제1 파일 및 제2 파일에 대한 세트 리스트를 각각 생성한다. 이때, 세트 리스트는 함수의 이름 및 내용으로 구성된 세트의 목록을 리스트로써 나타낸 것이다.
구체적으로 생성부(310)는 함수 검출부(311) 및 함수 분석부(313)를 더 포함하며, 함수 검출부(311)는 제1 파일 및 제2 파일에 포함된 소스코드에서 정규표현식을 이용하여 함수단위로 구분한다. 즉, 제1 파일 및 제2 파일에 포함된 소스코드에서 함수의 시작점과 끝지점을 찾아냄으로써 함수를 검출하는 것이다.
이후, 함수 분석부(313)가 제1 파일 및 제2 파일 각각에 대한 처음부터 끝까지 검출된 함수들을 라인단위로 분석하여 각 함수의 이름과 내용으로 이루어진 세트의 목록을 리스트로써 생성한다.
변경부(330)는 제1 파일 및 제2 파일 각각에 대해 생성된 리스트에서 각 세트를 구성하는 내용 부분의 길이를 미리 설정된 길이값으로 변경하고, 각 세트가 변경된 길이값을 갖는 내용을 포함하도록 하여 리스트를 갱신한다. 이때, 변경부(330)는 SHA2 해쉬 알고리즘을 수행함으로써 내용 부분의 길이 값을 변경할 수 있다.
비교부(350)는 제1 파일 및 제2 파일에 대해 갱신된 리스트에서 동일한 이름 또는 기능을 갖는 세트끼리 상호 비교하고, 그 비교 결과를 도출한다. 즉, 변경점 정보를 생성한다.
비교부(350)는 판단부(351)를 포함하며, 동일한 이름 또는 기능을 갖는 세트끼리 상호 비교한 결과, 이름 또는 기능의 일치 여부를 판단한다. 이때, 판단부(351)는 일치 또는 불일치 여부 뿐만 아니라, 비교 대상이 없는 독립적인 함수들까지도 판단할 수 있다.
도 4는 본 발명의 일 실시예에 따른 소스코드 비교 방법을 구체적으로 나타내는 순서도이다.
먼저, 생성부(310)는 제1 파일 및 제2 파일이 입력되면(S401), 제1 파일 및 제2 파일에 포함된 소스코드에서 정규표현식을 이용하여 함수단위로 구분한다(S403).
이후, 생생부(310)는 제1 파일 및 제2 파일 각각에 대해 각 함수의 이름과 내용으로 이루어진 세트의 목록을 리스트로써 생성한다(S405).
변경부(330)는 제1 파일 및 제2 파일 각각에 대해 생성된 리스트에서 각 세트를 구성하는 내용 부분의 길이를 미리 설정된 길이값으로 변경하고(S407), 각 세트가 변경된 길이값을 갖는 내용을 포함하도록 하여 리스트를 갱신한다(S409). 여기서, 각 세트를 구성하는 내용 부분의 길이를 미리 설정된 길이값으로 변경하기 위해서 SHA2 해쉬 알고리즘을 이용할 수 있다.
이후, 비교부(350)는 제1 파일 및 제2 파일에 대해 갱신된 리스트에서 동일한 이름 또는 기능을 갖는 세트끼리 서로 내용 부분을 비교하고(S411), 그 비교 결과 즉, 변경점 정보를 생성한다(413).
도 5는 본 발명의 일 실시예에 따른 소스코드 비교 결과가 표시된 사용자 인터페이스의 일 예를 나타내는 도면으로써, 앞서 설명한 본 발명의 일 실시예에 따른 소스코드 비교 방법을 통해 도출된 비교 결과를 표시한 일 예이다.
도 5를 참조하면, 사용자 인터페이스(500)는 파일 입력창(510), 변경정보 표시창(530) 및 독립 함수 표시창(550)으로 구성되어 소스코드 비교 결과가 표시된다.
먼저, 파일 입력창(510)은 비교하고자 하는 두 개의 파일인 제1 파일(Base) 및 제2 파일(New)을 사용자가 선택하여 입력할 수 있도록 구성된다.
변경정보 표시창(530)은 제1 파일 및 제2 파일의 각 세트 리스트가 표시되도록 구성되는데, 이때, 함수에 대한 다양한 정보가 함께 표시됨은 물론 제1 파일 및 제2 파일의 각 세트를 구성하는 내용 부분의 변경된 길이값에 대한 정보가 표시될 수 있는 길이값 정보 표시창(531a, 531b)이 각각 더 구성될 수 있다. 또한, 함수의 이름이 동일한 세트들의 내용을 비교한 결과에 따라 일치 또는 불일치 여부가 표시될 수 있는 비교 결과 표시창(533)이 더 구성될 수 있다.
한편, 도 5에는 도시되지 않았지만, 사용자는 세트 리스트에서 세트를 선택하여 각 세트에 대한 구체적인 정보는 물론, 변경점 정보를 확인할 수 있다.
독립 함수 표시창(550)는 비교 대상이 없는 함수들이 표시되며, 즉, 제1 파일 및 제2 파일에 독립적으로 존재하는 함수들의 리스트가 각각 표시된다.
따라서, 본 발명은 비교하고자 하는 파일의 소스코드에서 함수단위로 구분하여 사용자가 변경된 함수에 대한 정보를 빠르게 확인할 수 있도록 한다.
본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
300: 소스코드 비교 시스템 310: 생성부
311: 함수 검출부 313: 함수 분석부
330: 변경부 350: 비교부
351: 분리부 500: 사용자 인터페이스
510: 파일 입력창 530: 변경정보 표시창
531a: 길이값 정보 표시창 531b: 길이값 정보 표시창
533: 550: 독립 함수 표시창

Claims (12)

  1. 소프트웨어 재사용을 위한 소스코드 비교 방법에 있어서,
    함수 검출부가, 비교하고자 하는 파일인 제1 파일 및 제2파일에 포함된 소스코드에서 정규표현식을 이용하여 함수단위로 함수의 시작점과 끝지점을 찾아 함수를 검출하는 단계;
    함수 분석부가, 제1 파일 및 제2 파일 각각에 대한 처음부터 끝까지 검출된 함수들을 라인단위로 분석하여 각 함수의 이름과 내용으로 이루어진 세트의 목록을 리스트로써 생성하는 단계;
    변경부가, 제1 파일 및 제2 파일 각각에 대해 생성된 세트 리스트에서 각 세트를 구성하는 내용 부분의 길이를 미리 설정된 길이값으로 변경하고, 각 세트가 변경된 길이값을 갖는 내용을 포함하도록 상기 세트 리스트를 갱신하는 단계;
    비교부가, 제1 파일 및 제2 파일 각각에 대해 갱신된 세트 리스트에서 동일한 이름을 갖는 세트끼리 내용을 비교하여 기능의 일치 여부를 판단하며, 상기 갱신된 세트 리스트에서 이름이 상이하지만 동일한 기능을 갖는 세트끼리 내용을 비교하여 기능의 일치 여부를 판단하고, 상기 판단 결과에 따라 변경점 정보를 생성하는 단계; 및
    상기 기능의 일치 여부를 포함하는 비교 결과 표시창과 상기 제1 파일 및 상기 제2 파일 중 하나에 독립적으로 존재하는 적어도 하나의 함수의 리스트를 포함하는 독립 함수 표시창과 상기 변경점 정보를 표시하는 단계;를 포함하는, 소프트웨어 재사용을 위한 소스코드 비교 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020180160559A 2018-12-13 2018-12-13 소프트웨어 재사용을 위한 소스코드 비교 방법 KR102104322B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180160559A KR102104322B1 (ko) 2018-12-13 2018-12-13 소프트웨어 재사용을 위한 소스코드 비교 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180160559A KR102104322B1 (ko) 2018-12-13 2018-12-13 소프트웨어 재사용을 위한 소스코드 비교 방법

Publications (1)

Publication Number Publication Date
KR102104322B1 true KR102104322B1 (ko) 2020-04-24

Family

ID=70465959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180160559A KR102104322B1 (ko) 2018-12-13 2018-12-13 소프트웨어 재사용을 위한 소스코드 비교 방법

Country Status (1)

Country Link
KR (1) KR102104322B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210037628A (ko) * 2020-05-07 2021-04-06 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780233B1 (ko) * 2016-04-26 2017-09-21 고려대학교 산학협력단 소프트웨어의 코드 클론 탐지 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780233B1 (ko) * 2016-04-26 2017-09-21 고려대학교 산학협력단 소프트웨어의 코드 클론 탐지 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fabio Calefato et al, "Function Clone Detection in Web Applications: A Semiautomated Approach", Journal of Web Engineering, Vol. 3, No.1(2004.05.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210037628A (ko) * 2020-05-07 2021-04-06 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램
KR102505002B1 (ko) 2020-05-07 2023-03-02 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
US10942733B2 (en) Open-source-license analyzing method and apparatus
US9372689B2 (en) Synchronizing comments in source code with text documents
CN106708799B (zh) 一种文本纠错方法、装置及终端
US20200293171A1 (en) Diagrams for structured data
CN107665227B (zh) 一种数据版本控制方法及数据版本控制器
KR102160544B1 (ko) 소프트웨어 재사용을 위한 소스코드 비교 시스템
US20170154123A1 (en) System and method for processing metadata to determine an object sequence
JP2017041171A (ja) テストシナリオ生成支援装置およびテストシナリオ生成支援方法
KR102104322B1 (ko) 소프트웨어 재사용을 위한 소스코드 비교 방법
US9336228B2 (en) Synchronization of program code between revision management applications utilizing different version-control architectures
Yoshida et al. Proactive clone recommendation system for extract method refactoring
CN104346035A (zh) 对自动地更正的单词的指示
US10223389B2 (en) System and method for analyzing complex metadata
CN104484156B (zh) 多语言公式的编辑方法、编辑系统和多语言公式编辑器
US20230401177A1 (en) Managing File Revisions From Multiple Reviewers
US11250034B2 (en) Classification of software based on user interface elements
Kirinuki et al. Splitting commits via past code changes
CN110990294A (zh) 一种软件缺陷检测规则确定方法、装置、设备和存储介质
CN111158842A (zh) 操作流程检测方法、设备及存储介质
WO2015139646A1 (en) Data processing method and apparatus for unrealscript
US11045340B2 (en) Adding accessibility properties to a software application
JP7006769B2 (ja) 検索文活用装置および検索文活用方法
US20130290940A1 (en) Symbol-based merging of computer programs
KR20130109601A (ko) 온톨로지 개체 유사성 판단 방법 및 이를 이용한 온톨로지 시스템
US10649982B2 (en) Automated database updating and curation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant