KR101095448B1 - 소프트웨어 형상관리 방법 및 형상관리 장치 - Google Patents

소프트웨어 형상관리 방법 및 형상관리 장치 Download PDF

Info

Publication number
KR101095448B1
KR101095448B1 KR1020090119235A KR20090119235A KR101095448B1 KR 101095448 B1 KR101095448 B1 KR 101095448B1 KR 1020090119235 A KR1020090119235 A KR 1020090119235A KR 20090119235 A KR20090119235 A KR 20090119235A KR 101095448 B1 KR101095448 B1 KR 101095448B1
Authority
KR
South Korea
Prior art keywords
built
binary executable
executable file
binary
shape information
Prior art date
Application number
KR1020090119235A
Other languages
English (en)
Other versions
KR20110062494A (ko
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 KR1020090119235A priority Critical patent/KR101095448B1/ko
Publication of KR20110062494A publication Critical patent/KR20110062494A/ko
Application granted granted Critical
Publication of KR101095448B1 publication Critical patent/KR101095448B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

본 발명은 소프트웨어 형상관리(Software Configuration Management) 기술에 관한 것이다. 종래의 소프트웨어 형상관리 기술에서는, 개발자의 실수로 포함된 코드의 자동 검증이 어려우며, QA 과정에서는 변경된 바이너리(binary) 실행파일이 기능적으로 변경되었는지, 아니면 동일한 소스에서 빌드(build)한 바이너리 실행파일인지를 구별하지 못하는 결과를 낳을 수 있다. 이러한 결과는, 테스트의 범위를 선정하기가 힘들고, 업데이트(update) 등의 제품 패치(patch)시 휴면 에러(human error)가 그대로 포함된 바이너리가 패치 됨으로써 패치 사고를 유발하게 된다. 본 발명은, 바이너리 실행파일의 형상정보 비교 시, 바이너리 실행파일의 빌드 시마다 변경되는 부가정보들을 제외한 실행코드 정보를 우선적으로 비교함으로써, 동일한 소스에서 빌드된 바이너리 실행파일인지를 명확하게 구분할 수 있는 소프트웨어 형상관리 기술을 제안하고자 한다.
형상관리, 바이너리 실행파일, 빌드

Description

소프트웨어 형상관리 방법 및 형상관리 장치{METHOD AND APPARATUS FOR PROVIDING SOFTWARE CONFIGURATION MANAGEMENT}
본 발명은 소프트웨어 형상관리(Software Configuration Management) 기술에 관한 것으로, 특히 바이너리(binary) 실행파일의 형상관리 신뢰성을 확보하는데 적합한 소프트웨어 형상관리 방법 및 형상관리 장치에 관한 것이다.
소프트웨어 형상관리(Software Configuration Management, SCM)라 함은, 소프트웨어 코드뿐만 아니라, 개발환경, 빌드(build) 구조 등 전반적인 내역에 대한 관리 체계를 정의한 것을 말한다.
통상, 동일한 소스에서 빌드된 바이너리 실행파일이라 하더라도, 부가정보의 포함으로 인해 매번 바이너리 실행파일의 정보가 변경될 수 있다. 예컨대, A사에서 개발된 소스 바이너리 실행파일이 B사의 개발자에 의해 변경될 때, B사의 개발자가 변경된 바이너리 실행파일의 버전을 제대로 표시한 경우에는 별다른 문제가 발생되지 않는다. 하지만 개발자가 인지하지 못하는 상태에서 어떤 실행파일에서 스태틱(static)하게 링크하고 있는 공통 라이브러리가 변경되었다면, 실행파일의 버전은 변경되지 않았지만 기능적으로 수정된 상태가 된다.
문제는, 이렇게 실행파일의 버전이 변경되지는 않았으나 개발자가 인지하지 못한 상태에서 기능적으로 변경사항이 발생한 경우, 정확한 바이너리 실행파일의 빌드가 어렵다는데 있다.
즉, 종래의 소프트웨어 형상관리 기술에서는, 개발자의 실수로 포함된 코드의 자동 검증이 어려우며, QA 과정에서는 변경된 바이너리 실행파일이 기능적으로 변경되었는지, 아니면 동일한 소스에서 빌드한 바이너리 실행파일인지를 구별하지 못하는 결과를 낳을 수 있다.
이러한 결과는, 테스트의 범위를 선정하기가 힘들고, 업데이트(update) 등의 제품 패치(patch)시 휴면 에러(human error)가 그대로 포함된 바이너리가 패치 됨으로써 패치 사고를 유발하게 된다.
본 발명은 이와 같은 종래의 상황을 감안한 것으로, 바이너리(binary) 실행파일의 형상정보 비교 시, 바이너리 실행파일의 빌드 시마다 변경되는 부가정보들을 제외한 실행코드 정보를 비교함으로써, 동일한 소스에서 빌드된 바이너리 실행파일인지를 명확하게 구분할 수 있는 소프트웨어 형상관리 기술을 제안하고자 한다.
본 발명의 일 관점의 일 실시예로서 소프트웨어 형상정보 관리 방법은, 빌드(build)된 바이너리(binary) 실행파일이 제공되면 기 릴리즈(release)된 바이너리 실행파일의 존재 여부를 판단하는 과정과, 상기 기 릴리즈된 바이너리 실행파일이 존재하는 경우에 상기 빌드된 바이너리 실행파일의 형상정보와 상기 기 릴리즈된 바이너리 실행파일의 형상정보의 비교 결과에 따라 상기 빌드된 바이너리 실행파일 또는 상기 기 릴리즈된 바이너리 실행파일을 선택적으로 복사하는 과정을 포함할 수 있다.
여기서, 상기 복사하는 과정은, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하는 경우에 상기 기 릴리즈된 바이너리 실행파일을 복사하는 과정을 포함할 수 있다.
또한, 상기 방법은, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전이 상기 기 릴리즈된 바이너리 실행파일의 버전보다 높은 경우에 상기 빌드된 바이너리 실행파일을 복사하는 과정을 포함할 수 있다.
또한, 상기 방법은, 상기 빌드된 바이너리 실행파일의 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전과 상기 기 릴리즈된 바이너리 실행파일의 버전이 서로 동 일한 경우에 빌드 실패로 처리하는 과정을 포함할 수 있다.
본 발명의 일 관점의 다른 실시예로서 소프트웨어 형상관리 방법은, 빌드된 바이너리 실행파일의 복사 시 기 릴리즈된 바이너리 실행파일의 존재 여부를 판단하는 과정과, 상기 기 릴리즈된 바이너리 실행파일이 존재하고 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하는 경우에 상기 빌드 요청 바이너리 실행파일의 형상정보에 포함된 부가정보의 변경 여부와 관계 없이 상기 기 릴리즈된 바이너리 실행파일을 복사하는 과정을 포함할 수 있다.
여기서, 상기 방법은, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전이 상기 기 릴리즈된 바이너리 실행파일의 버전보다 높은 경우에 상기 빌드된 바이너리 실행파일을 복사하는 과정을 포함할 수 있다.
또한, 상기 방법은, 상기 빌드된 바이너리 실행파일의 실행코드 정보가 상기 기 릴리즈된 바이너리 실행파일의 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전과 상기 기 릴리즈된 바이너리 실행파일의 버전이 서로 동일한 경우에 빌드 실패로 처리하는 과정을 포함할 수 있다.
본 발명의 다른 관점으로서 소프트웨어 형상관리 장치는, 빌드된 바이너리 실행파일의 형상정보의 변경 여부를 체크하는 형상정보 비교부와, 상기 형상정보 비교부의 형상정보 변경 여부 체크 결과에 따라 상기 빌드된 바이너리 실행파일을 복사할 것인지, 이전에 릴리즈된 바이너리 실행파일을 복사할 것인지를 결정하는 바이너리 실행파일 결정부를 포함할 수 있다.
여기서, 상기 형상정보 비교부는, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 상기 이전에 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보를 비교할 수 있다.
또한, 상기 바이너리 실행파일 결정부는, 상기 형상정보 비교부의 실행코드 정보 비교 결과, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 상기 이전에 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 일치하면 상기 이전에 릴리즈된 바이너리 실행파일을 복사할 수 있다.
또한, 상기 장치는, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 부가정보와 상기 이전에 릴리즈된 바이너리 실행파일의 형상정보에 포함된 부가정보가 상이하더라도 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 상기 이전에 릴리즈된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 일치하면 상기 이전에 릴리즈된 바이너리 실행파일을 복사할 수 있다.
또한, 상기 부가정보는, 상기 실행코드 정보를 제외한 정보일 수 있다.
또한, 상기 장치는, 상기 입력되는 바이너리 실행파일과 상기 이전에 릴리즈된 바이너리 실행파일의 버전을 서로 비교하는 버전 비교부를 더 포함할 수 있다.
본 발명에 의하면, 바이너리(binary) 실행파일의 형상정보 비교 시, 바이너 리 실행파일의 빌드 시마다 변경되는 부가정보들을 제외한 실행코드 정보를 비교하여 동일한 소스에서 빌드된 바이너리 실행파일인지를 명확하게 구분할 수 있는 바, 제품의 품질을 향상시키고 개발기간을 단축시킬 수 있다. 또한, 휴먼 에러(human error)를 자동 검출할 수 있는 바, 제품 패치의 안정화를 기대할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 소프트웨어 형상관리 장치에 대한 구성 블록도로서, 바이너리(binary) 실행파일 빌드(build)부(100), 형상정보 비교부(102), 바이너리 실행파일 결정부(104), 버전(version) 비교부(106)를 포함할 수 있다.
도 1에 도시한 바와 같이, 형상정보 비교부(102)는, 바이너리 실행파일 빌드부(100)를 통해 빌드된 바이너리 실행파일(예컨대, 확장자 exe, dll 등과 같은 파일들)에 포함된 형상정보의 변경 여부를 체크할 수 있다. 구체적으로, 형상정보 비교부(102)는, 현재 빌드된 바이너리 실행파일의 형상정보와 이전에 릴리즈(release)된 바이너리 실행파일의 형상정보를 비교하여 형상정보의 실행코드 정보가 변경되었는지를 확인하고, 그 결과 정보를 바이너리 실행파일 결정부(104)로 제공할 수 있다.
바이너리 실행파일 결정부(104)는, 형상정보 비교부(102)의 비교 결과 정보에 따라 현재 빌드된 바이너리 실행파일을 복사(사용)할 것인지, 이전에 릴리즈된 바이너리 실행파일을 복사할 것인지를 결정하여 해당 바이너리 실행파일을 복사할 수 있다. 예컨대, 형상정보 비교부(102)로부터의 비교 결과 정보가 실행코드 정보 의 변경을 나타내는 것이면 현재의 바이너리 실행파일을 복사하도록 하고, 실행코드 정보가 변경되지 않았음을 나타내는 비교 결과 정보이면 이전에 릴리즈된 바이너리 실행파일을 복사하도록 한다. 즉, 바이너리 실행파일의 형상정보에서 부가정보(실행코드 정보를 제외한 정보)가 상이하더라도 동일한 소스에서 빌드한 바이너리 실행파일인 경우에 이전에 릴리즈된 바이너리 실행파일을 사용하도록 구현하기 때문에, 소스 파일의 업데이트가 진행된다 하더라도 이전의 바이너리 실행파일을 유지할 수 있게 된다.
버전 비교부(106)는, 형상정보 비교부(102)를 통해 실행코드 정보가 변경된 것으로 판단된 경우, 현재의 바이너리 실행파일과 이전에 릴리즈된 바이너리 실행파일의 버전을 서로 비교하여 현재의 바이너리 실행파일과 이전에 릴리즈된 바이너리 실행파일의 버전이 서로 동일할 경우에 에러 처리할 수 있다. 즉, 바이너리 실행파일이 변경되었음에도 불구하고 서로 버전이 동일하다면, 개발자가 인지하지 못한 에러가 포함되어 있을 가능성이 있으므로 빌드 실패로 처리하도록 한다.
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 소프트웨어 형상관리 방법에 대해 첨부된 도 2 및 도 3의 흐름도를 참조하여 상세히 설명하기로 한다.
먼저, 도 2는 소프트웨어 형상관리 방법의 일 실시예를 예시적으로 설명하는 흐름도이다.
도 2에 예시한 바와 같이, 임의의 바이너리 실행파일, 예를 들어 바이너리 실행파일(A)의 빌드가 요청될 경우에(S200), 바이너리 실행파일 빌드부(100)는 해 당 바이너리 실행파일(A)을 빌드하고(S202), 빌드된 바이너리 실행파일(A)을 형상정보 비교부(102)로 제공한다.
형상정보 비교부(102)는 이전에 릴리즈된 바이너리 실행파일, 예를 들어 바이너리 실행파일(B)이 존재하는지를 판단한다(S204).
이전에 릴리즈된 바이너리 실행파일(B)이 존재할 경우, 형상정보 비교부(102)는 현재의 바이너리 실행파일(A)의 형상정보와 이전에 릴리즈된 바이너리 실행파일(B)의 형상정보를 서로 비교한다(S206). 예컨대, 형상정보 비교부(102)는, 바이너리 실행파일(B)의 형상정보 내의 실행코드 정보와, 바이너리 실행파일(A)의 형상정보 내의 실행코드 정보를 서로 비교할 수 있다.
형상정보 비교부(102)를 통한 실행코드 정보의 비교 결과는 바이너리 실행파일 결정부(104)로 제공될 수 있다.
바이너리 실행파일 결정부(104)는, 이러한 실행코드 정보의 비교 결과에 따라 바이너리 실행파일의 복사를 결정할 수 있다. 예컨대, 현재의 바이너리 실행파일(A)의 형상정보 내의 실행코드 정보와 이전에 릴리즈된 바이너리 실행파일(B)의 형상정보 내의 실행코드 정보가 서로 동일하다면, 즉 현재의 바이너리 실행파일(A)의 형상정보 내의 실행코드 정보가 변경되지 않았으면(S208), 바이너리 실행파일 결정부(104)는 이전에 릴리즈된 바이너리 실행파일(B)을 복사하도록 한다(S210). 즉, 바이너리 실행파일의 형상정보에서 부가정보(실행코드 정보를 제외한 정보)가 상이하더라도 동일한 소스에서 빌드한 바이너리 실행파일인 경우에 이전에 릴리즈된 바이너리 실행파일을 사용하도록 구현하기 때문에, 소스 파일의 업데이트가 진 행된다 하더라도 이전의 바이너리 실행파일을 유지할 수 있게 된다.
한편, 실행코드 정보의 비교 결과, 현재의 바이너리 실행파일(A)의 형상정보 내의 실행코드 정보와 이전에 릴리즈된 바이너리 실행파일(B)의 형상정보 내의 실행코드 정보가 서로 동일하지 않다면, 즉 현재의 바이너리 실행파일(A)의 형상정보 내의 실행코드 정보가 변경되었으면(S208), 버전 비교부(106)에서 현재의 바이너리 실행파일(A)과 이전에 릴리즈된 바이너리 실행파일(B)의 버전을 비교한다(S212).
버전 비교부(106)를 통해 실행파일(A)과 실행파일(B)의 버전을 상호 비교한 결과, 현재의 바이너리 실행파일(A)의 버전이 이전에 릴리즈된 바이너리 실행파일(B)의 버전보다 높은 경우, 즉 바이너리 실행파일(A)의 버전이 바이너리 실행파일(B)의 버전보다 상위 버전인 경우로 판단된 경우에는(S214), 바이너리 실행파일 결정부(104)는 현재 빌드된 바이너리 실행파일(A)을 복사하도록 한다(S216). 이 외에는 모두 빌드 에러 처리를 수행하도록 한다(S218).
이상 설명한 바와 같이, 본 실시예에 따르면, 바이너리(binary) 실행파일의 형상정보 비교 시, 바이너리 실행파일의 빌드 시마다 변경되는 부가정보들을 제외한 실행코드 정보를 우선적으로 비교함으로써, 동일한 소스에서 빌드된 바이너리 실행파일인지를 명확하게 구분할 수 있도록 구현한 것이다.
도 1은 본 발명의 실시예에 따른 소프트웨어 형상관리 장치에 대한 개략적인 구성 블록도,
도 2는 본 발명의 실시예에 따른 소프트웨어 형상관리 방법에 대한 일 실시 형태를 설명하는 흐름도.
<도면의 주요부분에 대한 부호의 설명>
100 : 형상정보 비교부
102 : 바이너리 실행파일 빌드부
104 : 버전 비교부

Claims (13)

  1. 빌드(build)된 바이너리(binary) 실행파일이 제공되면, 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 존재 여부를 판단하는 과정과,
    상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일이 존재하는 경우에 상기 빌드된 바이너리 실행파일의 형상정보와 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보를 비교하는 과정과,
    상기 비교 결과에 따라, 상기 빌드된 바이너리 실행파일 또는 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 선택적으로 사용하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  2. 제 1 항에 있어서,
    상기 사용하는 과정은,
    상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하는 경우에 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 사용하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  3. 제 1 항에 있어서,
    상기 사용하는 과정은,
    상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전이 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 버전보다 높은 경우에 상기 빌드된 바이너리 실행파일을 사용하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  4. 제 1 항에 있어서,
    상기 방법은,
    상기 빌드된 바이너리 실행파일의 실행코드 정보가 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전과 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 버전이 서로 동일한 경우에 빌드 실패로 처리하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  5. 빌드된 바이너리 실행파일이 제공되면, 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 존재 여부를 판단하는 과정과,
    상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일이 존재하고 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하는 경우에 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 부가정보의 변경 여부와 관계 없이 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 사용하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  6. 제 5 항에 있어서,
    상기 방법은,
    상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전이 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 버전보다 높은 경우에 상기 빌드 요청 바이너리 실행파일을 사용하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  7. 제 6 항에 있어서,
    상기 방법은,
    상기 빌드된 바이너리 실행파일의 실행코드 정보가 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 실행코드 정보와 일치하지 않고 상기 빌드된 바이너리 실행파일의 버전과 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 버전이 서로 동일한 경우에 빌드 실패로 처리하는 과정을 포함하는
    소프트웨어 형상을 관리하기 위해 컴퓨터로 구현된 방법.
  8. 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보를 비교하는 형상정보 비교부와,
    상기 형상정보 비교부에 의한 상기 실행코드 정보의 비교 결과에 따라 상기 빌드된 바이너리 실행파일을 사용할 것인지, 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 사용할 것인지를 결정하는 바이너리 실행파일 결정부를 포함하는
    소프트웨어 형상관리 장치.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 바이너리 실행파일 결정부는, 상기 실행코드 정보의 비교 결과, 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 일치하면 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 사용하는
    소프트웨어 형상관리 장치.
  11. 제 8 항 또는 제 10 항에 있어서,
    상기 빌드된 바이너리 실행파일의 형상정보에 포함된 부가정보와 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 부가정보가 상이하더라도 상기 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보와 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 형상정보에 포함된 실행코드 정보가 일치하면 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일을 사용하는
    소프트웨어 형상관리 장치.
  12. 제 11 항에 있어서,
    상기 부가정보는, 상기 실행코드 정보를 제외한 정보인
    소프트웨어 형상관리 장치.
  13. 제 8 항에 있어서,
    상기 장치는,
    상기 빌드된 바이너리 실행파일과 상기 이전에 릴리즈용으로 빌드된 바이너리 실행파일의 버전을 서로 비교하는 버전 비교부를 더 포함하는
    소프트웨어 형상관리 장치.
KR1020090119235A 2009-12-03 2009-12-03 소프트웨어 형상관리 방법 및 형상관리 장치 KR101095448B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090119235A KR101095448B1 (ko) 2009-12-03 2009-12-03 소프트웨어 형상관리 방법 및 형상관리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090119235A KR101095448B1 (ko) 2009-12-03 2009-12-03 소프트웨어 형상관리 방법 및 형상관리 장치

Publications (2)

Publication Number Publication Date
KR20110062494A KR20110062494A (ko) 2011-06-10
KR101095448B1 true KR101095448B1 (ko) 2011-12-16

Family

ID=44396665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090119235A KR101095448B1 (ko) 2009-12-03 2009-12-03 소프트웨어 형상관리 방법 및 형상관리 장치

Country Status (1)

Country Link
KR (1) KR101095448B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182908A (ja) 2000-12-15 2002-06-28 Mitsubishi Electric Corp S/w開発プロセス間のトレーサビリティ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182908A (ja) 2000-12-15 2002-06-28 Mitsubishi Electric Corp S/w開発プロセス間のトレーサビリティ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
신규상외 2인, "소프트웨어 형상관리 도구에서의 관계분석 및 변경통보 방법 구현", 한국정보과학회 학술발표논문집, 1993.04.

Also Published As

Publication number Publication date
KR20110062494A (ko) 2011-06-10

Similar Documents

Publication Publication Date Title
EP3906488B1 (en) Method and contract rewriting framework system for supporting smart contracts in a blockchain network
US11727117B2 (en) Vulnerability analyzer for application dependencies in development pipelines
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
JP7164017B2 (ja) フォールトツリー分析を使用して機能安全のため制御フローグラフを最適化するシステム及び方法
US10019256B2 (en) Systems and methods for incremental software development
US8607208B1 (en) System and methods for object code hot updates
US9027014B2 (en) Updating firmware compatibility data
US10489591B2 (en) Detection system and method thereof
US10552140B2 (en) Automated identification of deployment data for distributing discrete software deliverables
CN112771505A (zh) 通过不一致处置检测的软件测试保证
US10489150B2 (en) Software dependency shading
US20160142437A1 (en) Method and system for preventing injection-type attacks in a web based operating system
US20160292425A1 (en) System and method for automated remedying of security vulnerabilities
US10917456B2 (en) Application management in an application deployment pipeline
US20220391541A1 (en) Software provenance validation
US8549320B2 (en) Verifying loaded module during debugging
JP6567212B2 (ja) 等価性検証装置および等価性検証プログラム
KR101095448B1 (ko) 소프트웨어 형상관리 방법 및 형상관리 장치
US20240160436A1 (en) Software development tool installation and command routing
Padmanabhuni et al. Light-weight rule-based test case generation for detecting buffer overflow vulnerabilities

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141212

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171212

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181212

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191212

Year of fee payment: 9