KR100460536B1 - 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 - Google Patents

컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 Download PDF

Info

Publication number
KR100460536B1
KR100460536B1 KR10-2002-0081820A KR20020081820A KR100460536B1 KR 100460536 B1 KR100460536 B1 KR 100460536B1 KR 20020081820 A KR20020081820 A KR 20020081820A KR 100460536 B1 KR100460536 B1 KR 100460536B1
Authority
KR
South Korea
Prior art keywords
component
performance
performance measurement
information
components
Prior art date
Application number
KR10-2002-0081820A
Other languages
English (en)
Other versions
KR20040055195A (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 KR10-2002-0081820A priority Critical patent/KR100460536B1/ko
Priority to US10/404,331 priority patent/US20040139186A1/en
Publication of KR20040055195A publication Critical patent/KR20040055195A/ko
Application granted granted Critical
Publication of KR100460536B1 publication Critical patent/KR100460536B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴포넌트의 구조 및 메소드의 실행을 통해 측정된 성능 측정 결과를 시각화 한 후 컴포넌트의 비교 성능 측정을 통해 서로 연관된 컴포넌트들의 목록을 분석하여 연관 규칙을 생성하고, 연관성 분석 정보로부터 특정 컴포넌트와 연관된 컴포넌트를 찾아 자동 추천하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법에 관한 것이다.
본 발명은 컴포넌트에 대한 성능 측정 프로그램을 생성하고 이를 실행하여 컴포넌트의 성능을 측정하는 컴포넌트 성능 측정기와, 사용자가 선택한 비교 대상 컴포넌트들에 대해 각 성능 측정 요소별로 성능을 비교하는 컴포넌트 성능 비교기와, 각 컴포넌트별 명세정보, 성능 측정 결과 정보, 및 비교 성능측정 결과 정보가 저장되는 컴포넌트 저장소와, 함께 비교된 컴포넌트 목록 정보를 분석하여 소정의 연관 컴포넌트 목록을 찾고 이를 토대로 연관 규칙을 추출하는 연관 컴포넌트 분석기와, 특정 컴포넌트에 대해 연관성이 높은 순서로 연관 컴포넌트 목록을 추천하는 연관 컴포넌트 추천기로 구성된다.

Description

컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법{Apparatus and method for recommending associated components based on performance measurement of components}
본 발명은 컴포넌트(component)의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법에 관한 것이며, 보다 상세히는 컴포넌트의 구조 및 비즈니스 기능을 명시한 메소드의 실행을 통해 측정된 성능 측정 결과를 시각화 한 후, 사용자로부터 관련 있다고 선택된 컴포넌트들의 비교 성능 측정을 통해 서로 연관된 컴포넌트들 목록을 분석하여 연관 규칙을 생성하고, 연관성 분석 정보로부터 연관 컴포넌트를 찾아 자동으로 추천하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법에 관한 것이다.
컴포넌트는 기능과 그 기능에 대한 명세를 갖는 재사용 가능한 소프트웨어 단위이다. 소프트웨어의 개발을 빠르게 하기 위해 이미 생성된 컴포넌트들의 재사용은 소프트웨어 시스템 개발에 중요한 요소이다. 컴포넌트 기반 소프트웨어에서 기능 생성은 동일 기능의 컴포넌트를 새로 생성하고자 하는 기능 부분에 적용함으로써 이루어지고, 유지 보수는 변경하려는 컴포넌트에 대치하고자 하는 컴포넌트를 적용함으로써 이루어진다. 따라서, 이미 생성된 컴포넌트의 재사용을 높이기 위해 함께 모아 두고 개발자의 필요에 맞는 컴포넌트를 찾아 사용할 수 있도록 컴포넌트 레파지토리(component repository)가 연구되어왔다. 종래의 컴포넌트 레파지토리는 브라우징(browsing)이나 질의(query)와 같은 기능만으로 컴포넌트 식별을 지원해 왔다. 하지만, 브라우징의 경우 원하는 컴포넌트를 찾기 위한 탐색 영역이 너무 넓고, 질의의 경우 사용자가 원하는 키워드를 입력하지 않으면 원하는 컴포넌트를 찾을 수 없다는 단점이 있다.
따라서, 종래의 컴포넌트 레파지토리를 이용하여 사용자가 찾고자 하는 컴포넌트의 손쉬운 식별과 유사 컴포넌트에 대한 식별은 효과적으로 이루어지지 못하고 있는 실정이다.
특히, 대형 컴포넌트 레파지토리는 컴포넌트 사용자가 찾고자하는 컴포넌트의 존재를 손쉽게 알 수 없을 뿐만 아니라 연관된 컴포넌트를 용이하게 식별할 수 없기 때문에 컴포넌트 개발자들로서는 반복적으로 같은 기능을 갖는 메소드들을 재생산하게 되는 문제점이 있다.
한편, 종래의 컴포넌트 성능 측정 방법은 일반적으로 구현 소스 코드를 필요로 하고, 구현 소스 코드가 없는 경우 바이너리 형태의 컴포넌트를 역 컴파일(decompile)하여 소스 코드를 얻고, 성능 측정 프로그램의 소스 코드에 컴포넌트가 포함하는 메소드를 삽입하여 컴포넌트의 성능을 측정한다.
2001년 3월에 발표된 "An Active and Adaptive Reuse Repository System"에서는 재사용 컴포넌트의 식별을 위해 소스 코드에 포함되어 있는 식별자, 주석, 메소드 시그너춰(method signature)의 텍스트 정보와 사용자의 프로파일(profile)을 이용하여 컴포넌트의 유사성을 분석한다.
하지만, 대부분의 컴포넌트는 구현 소스 코드로부터 생성된 바이너리 실행 파일로만 구성되고, 역 컴파일 방지 기술을 적용하여 실행 파일에서 구현 코드가 산출될 수 없도록 하므로 컴포넌트의 연관성을 분석하기 위해 입력 자료를 변경할 필요가 있다.
그리고, 컴포넌트 탐색은 직접 질의를 주고 질의에 부응하는 컴포넌트를 찾아 재사용 컴포넌트로 제공하고 있으나, 키워드 검색 방법은 질의에 표현된 키워드가 찾고자 하는 컴포넌트를 얼마나 잘 표현하는가와 밀접한 관계가 있다. 따라서, 적절한 키워드가 사용되지 않으면 재사용 컴포넌트 저장소로부터 원하는 컴포넌트를 찾을 수 없기 때문에 보다 효율적인 검색 방법이 요구된다.
2000년 11월에 게재된 "JaViz: A client/server Java profiling tool"에서는 분산 환경의 자바 어플리케이션 프로그램에서 원격 메소드를 호출함으로써 생성되는 프로그램의 메소드 호출 관계를 시각적인 프로그램 수행 트리(tree) 구조로 보여준다. JaViz에서 보여주는 트리 구조의 메소드 호출 관계 그래프는 클라이언트와서버 측 각각의 자바 버추얼 머신(Java Virtual Machine; JVM) 상에서 기록된 실행 시간과 호출 관계를 모아 이를 통합하여 사용자에게 보여준다.
하지만 성능 측정의 동작이 모두 자바 버추얼 머신 상에서 이루어지기 때문에 성능 측정 요소가 제한적이고 사용자가 성능을 이해하거나 비교하기 어렵다.
1995년 6월에 발표된 "A Tool for Monitoring Software-Heterogeneous Distributed Object Applications"에서는 분산 어플리케이션을 구성하기 위해 컴포넌트가 결합될 때 어플리케이션 내부에서 발생되는 객체 생성과 객체 삭제와 같은 동적인 동작 및 시스템에 대한 구조를 측정하여 시각적으로 보여 준다. 따라서, 구성되는 어플리케이션의 불균형을 탐지할 수 있고, 추가되는 컴포넌트 소프트웨어에 상호 작용하는 과부하를 탐지하여 시스템을 튜닝(tuning) 하는데 이용한다.
하지만, 이와 같은 종래의 선행 연구는 컴포넌트의 동작 및 응용 프로그램의 구조나 동작에 관한 정보를 트리 구조로 생성하여 보여 주는 데 그치고 있으며, 성능 측정 요소가 제한적이기 때문에 사용자가 성능을 이해하거나 비교하기 어렵다. 이와 더불어, 컴포넌트 사용자의 요구에 맞는 컴포넌트의 검색이 효율적으로 이루어지고 있지 못하다. 따라서, 컴포넌트의 다양한 성능을 측정하고, 성능 측정 결과를 이해하여 관련된 컴포넌트들을 식별하는 방법을 제시하는 데에는 여전히 기술적 한계를 지니고 있다.
따라서, 본 발명은 상술한 종래의 문제점 및 필요성을 해결하기 위한 것으로서, 본 발명의 목적은 각 컴포넌트에 대한 성능 측정 결과를 토대로 컴포넌트의 성능을 상호 비교하고 연관 컴포넌트 목록을 분석한 후 사용자의 요청에 따라 연관성이 높은 컴포넌트를 자동 선별하여 제공함으로써, 연관 컴포넌트 검색 시 사용자 편의를 도모하며 컴포넌트의 재사용률을 높이고 컴포넌트 기반 소프트웨어를 효율적으로 구축할 수 있도록 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법을 제공하는데 있다.
상기 본 발명의 목적을 달성하기 위해 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치는, 사용자로부터 컴포넌트의 구조 명세 정보와 어플리케이션 서버 접속 정보를 입력받는 컴포넌트 명세 정보 입력 인터페이스; 상기 입력받은 컴포넌트 구조 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출하는 컴포넌트 메소드 추출기; 상기 추출된 메소드 시그너춰 정보 및 사용자로부터 입력받은 메소드 반복 수행 횟수, 동시 접속 사용자수를 반영하여 그 컴포넌트에 대한 성능 측정 프로그램을 생성하고, 성능 측정 프로그램을 실행하여 해당 어플리케이션 서버로부터 그 컴포넌트에 포함된 기능을 호출한 후 컴포넌트의 내부 성능을 측정하는 컴포넌트 성능 측정기; 사용자로부터 상기 성능 측정된 컴포넌트들 중에서 상호 비교 성능 측정될 대상 컴포넌트들의 선택 정보를 입력받는 비교 성능 측정 컴포넌트 선택 인터페이스; 상기 선택된 비교 대상 컴포넌트들에 대한 상기 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하는 컴포넌트 성능 비교기; 상기 컴포넌트 성능 측정기의 단일 컴포넌트 성능 측정 결과에 대한 각 성능 요소별 그래프를 생성하여 사용자에게 보여주고,상기 컴포넌트 성능 비교기의 컴포넌트들간 비교 성능 측정 결과를 각 성능 요소별 그래프로 보여주는 결과 그래프 생성기; 각 컴포넌트별 분석 명세 정보, 상기 성능 측정 결과 정보, 상기 비교 성능 측정 결과 정보 및 함께 비교된 컴포넌트 목록 정보가 데이터베이스화되는 컴포넌트 저장소; 상기 비교 성능 측정 과정에서 함께 비교된 컴포넌트 목록 정보를 분석하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 연관 규칙을 추출하는 연관 컴포넌트 분석기; 및 사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 경우, 상기 연관 컴포넌트 목록 정보와 각 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 기반으로 특정 컴포넌트에 대해 연관성이 높은 순서로 관련 컴포넌트를 선별하여 추천하는 연관 컴포넌트 추천기;로 구성된다.
또한, 상기 본 발명의 목적을 달성하기 위한 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법은, 사용자로부터 컴포넌트의 구조 명세 정보, 메소드 반복 수행 횟수 정보, 동시 접속 사용자수 정보, 및 어플리케이션 서버 접속 정보를 입력받는 컴포넌트 명세 정보 입력 단계; 상기 입력받은 컴포넌트 구조 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출하는 컴포넌트 메소드 추출 단계; 상기 추출된 메소드 시그너춰 정보와 메소드 반복 수행 횟수, 동시 접속 사용자수를 반영하여 그 컴포넌트에 대한 성능 측정 프로그램을 생성하고, 성능 측정 프로그램을 실행하여 해당 어플리케이션 서버로부터 그 컴포넌트에 포함된 기능을 호출한 후 컴포넌트의 내부 성능을 측정하고 그 측정 결과를 각 단일 컴포넌트별로 데이터베이스화하는 컴포넌트 성능 측정 단계; 사용자가 상기 성능 측정된 컴포넌트들 중에서 상호 비교 성능 측정할 비교 대상 컴포넌트들을 선택하면, 비교 대상 컴포넌트들에 대한 상기 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하고, 그 비교 결과 정보 및 함께 성능 비교된 성능 측정 로그를 데이터베이스화하는 컴포넌트 성능 비교 단계; 상기 컴포넌트 성능 비교 단계에서 함께 비교된 컴포넌트 목록 정보를 분석하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 연관 규칙을 추출하는 연관 컴포넌트 목록 분석 단계; 및 사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 경우, 상기 연관 컴포넌트 목록 정보와 각 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 기반으로 특정 컴포넌트에 대해 연관성이 높은 순서로 관련 컴포넌트를 선별하여 추천하는 연관 컴포넌트 추천 단계;로 이루어진다.
도 1은 본 발명에 따른 연관 컴포넌트 추천 장치에 대한 블록 구성도.
도 2는 본 발명에 따른 컴포넌트 명세 정보 입력을 위한 사용자 인터페이스를 보여주는 도면.
도3은 본 발명에 따른 비교 성능 측정할 컴포넌트 선택하기 위한 사용자 인터페이스를 보여주는 도면.
도 4는 본 발명에 따른 비교 성능 측정된 컴포넌트들의 결과를 그래프로 조회하기 위한 결과 그래프 생성기의 사용자 인터페이스를 보여주는 도면.
도 5는 본 발명에 따른 메모리와 CPU 사용률 성능에 대한 그래프 화면도.
도 6은 본 발명에 따른 메소드 응답 시간과 컴포넌트 응답 시간 성능에 대한 그래프 화면도.
도 7은 비교 성능 측정 로그로부터 연관된 컴포넌트들의 지지도와 신뢰도를 분석함으로써 컴포넌트 연관 규칙을 추출하는 방법을 보여주는 도면.
도 8은 본 발명에 따른 컴포넌트 추천 결과 화면을 보여주는 도면.
도 9는 본 발명에 따른 컴포넌트 성능 측정을 이용한 연관 컴포넌트 추천 방법에 대한 상세 흐름도.
<도면의 주요부분에 대한 부호의 설명>
110: 컴포넌트 명세 정보 입력 인터페이스
120: 컴포넌트 메소드 추출기 130: 컴포넌트 성능 측정기
140: 비교 성능 측정 컴포넌트 선택 인터페이스
150: 컴포넌트 성능 비교기 160: 결과 그래프 생성기
170: 컴포넌트 저장소 180: 연관 컴포넌트 분석기
190: 연관 컴포넌트 추천기
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 연관 컴포넌트 추천 장치에 대한 블록 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 연관 컴포넌트 추천 장치(100)는 컴포넌트 명세 정보 입력 인터페이스(110), 컴포넌트 메소드 추출기(120), 컴포넌트 성능 측정기(130), 비교 성능 측정 컴포넌트 선택 인터페이스(140), 컴포넌트 성능 비교기(150), 결과 그래프 생성기(160), 컴포넌트 저장소(170), 연관 컴포넌트 분석기(180), 및 연관 컴포넌트 추천기(190)로 이루어진다.
사용자가 상기 컴포넌트 명세 정보 입력 인터페이스(110)를 통해 성능 측정 대상 컴포넌트에 대한 구조 명세 정보와 어플리케이션 서버 정보를 입력하면, 상기 컴포넌트 메소드 추출기(120)는 이 입력 정보를 토대로 메소드 시그너춰를 추출하고, 상기 컴포넌트 성능 측정기(130)는 상기 추출된 메소드 시그너춰, 메소드 반복 횟수, 동시 접속 사용자수 등을 기반으로 컴포넌트 성능 측정 프로그램을 자동 생성한 후 이 프로그램을 실행하여 상기 어플리케이션 서버(200)에 전개되어 있는 해당 컴포넌트에 포함된 기능을 호출하여 컴포넌트의 성능을 시험하고 그 성능 측정 결과를 상기 컴포넌트 저장소(170)에 저장하게 된다.
본 발명은, 이와 같이 상기 어플리케이션 서버(200)에 전개되어 있는 컴포넌트들의 성능이 측정된 상태에서, 사용자가 상기 비교 성능 측정 컴포넌트 선택 인터페이스(140)를 통해 비교 성능 측정할 대상 컴포넌트들을 선택하게 되면, 상기 컴포넌트 성능 비교기(150)는 소정의 성능 요소별로 상기 선택된 대상 컴포넌트들의 성능을 상호 비교한 후 상기 결과 그래프 생성기(160)를 통해 비교 결과 그래프를 생성하여 사용자에게 제공하고 그 성능 비교 결과 및 함께 비교된 컴포넌트 목록 정보를 상기 컴포넌트 저장소(170)에 저장 관리한다.
상기 연관 컴포넌트 분석기(180)는 상기 성능 비교 결과를 기반으로 생성된 비교 성능 측정 정보를 분석하여 상호 함께 사용되는 연관성이 높은 컴포넌트들의 목록을 연관 규칙으로 생성한다.
또한, 사용자가 연관 컴포넌트의 추천을 요구하면, 상기 연관 컴포넌트 추천기(190)는 상기 분석된 연관 규칙을 이용하여 연관성이 높은 순서로 컴포넌트들의목록을 사용자에게 제공한다.
이하에서는 도 2내지 도 7을 참조하여 상기 각 구성부분에 대해 보다 상세하게 설명하도록 한다.
상기 컴포넌트 명세 정보 입력 인터페이스(110)는 사용자로부터 컴포넌트 명세 정보를 입력받는 그래픽 사용자 인터페이스(Graphic User Interface; GUI)로서, 성능을 측정하고자 하는 컴포넌트의 비즈니스 메소드 집합인 인터페이스(interface) 클래스명과 컴포넌트가 전개(deploy)되어 있는 어플리케이션 서버의 접속 정보를 입력받는다.
도 2는 이러한 컴포넌트 명세 정보 입력인터페이스 창을 보여주는 도면으로, 상기 컴포넌트 명세 정보 입력 인터페이스(110)는 사용자로부터 컴포넌트의 구조 명세 정보(201)와 어플리케이션 서버 접속 정보(202)를 사용자로부터 입력받는다.
이러한 컴포넌트의 구조 명세 정보(201)는 홈 인터페이스 클래스명, 원격 인터페이스 클래스명, 전개된 컴포넌트의 고유 식별자 등이 되고, 어플리케이션 서버 접속 정보(202)는 접속 URL 정보, 어플리케이션 서버 동작을 위한 클래스들의 경로가 된다.
상기 컴포넌트 메소드 추출기(120)는 상기 입력받은 컴포넌트 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출한다.
이러한 메소드 시그너춰는 메소드 이름, 파라미터 타입, 반환(return) 타입으로 구분되어 추출된다.
상기 컴포넌트 성능 측정기(130)는 상기 컴포넌트 메소드 추출기(120)에서생성된 메소드 시그너춰 정보 및 사용자로부터 입력받은 메소드 반복 수행 횟수, 동시 접속 사용자 수가 반영될 수 있도록 다양한 사용자 시나리오를 반영하여 컴포넌트의 성능을 측정할 프로그램을 자동 생성한다.
그리고, 상기 컴포넌트 성능 측정기(130)는 상기 생성된 성능 측정 프로그램을 실행하여 상기 어플리케이션 서버(200)로부터 해당 컴포넌트를 호출한 후 사용자가 설정한 시나리오(scenario)에 기반하여 컴포넌트의 내부 성능을 측정한다.
이때, 측정되는 컴포넌트의 성능으로는 각 메소드의 응답 시간, 메소드들의 응답 시간의 합계로 산출되는 컴포넌트 응답 시간, 단위 시간별 CPU 사용률, 메모리 사용률, 메소드 응답 시간의 평균과 편차로 산출되는 메소드 응답 시간 요약 정보, CPU 변화량 요약 정보, 메모리 변화량 요약 정보가 된다.
이와 같이 컴포넌트의 성능이 측정되면, 상기 컴포넌트 성능 측정기(130)는 그 컴포넌트의 명세 정보, 메소드 시그너춰 정보, 및 성능 측정 결과 정보를 상기 컴포넌트 저장소(170)에 사용자별로 저장한다.
또한, 상기 결과 그래프 생성기(160)는 사용자의 요청에 따라 상기 성능 측정 결과에 대해 각 성능 요소별로 그래프를 생성하고 이를 사용자에게 보여준다.
즉, 컴포넌트 응답 시간 성능은 컴포넌트 이름에 대한 막대 그래프로 보여주고, 각 메소드의 응답 시간 성능은 컴포넌트에 포함된 메소드 시그너춰별 막대 그래프로 보여주며, CPU 사용률 성능 및 메모리 사용률 성능은 단위 시간별 CPU 또는 메모리 사용률의 변화를 꺾은선 그래프로 보여준다.
이와 같이 어플리케이션 서버(200)에 전개되어 있는 컴포넌트의 성능이 측정되어 상기 컴포넌트 저장소(170)에 다수개의 컴포넌트들에 대한 그 성능 측정 결과가 저장되면, 사용자는 이들 성능 측정 결과를 이용한 컴포넌트의 성능 비교와 연관 컴포넌트의 추천을 요청할 수 있게 된다.
상기 비교 성능 측정 컴포넌트 선택 인터페이스(140)는 상기 성능 측정된 컴포넌트들 중에서 사용자가 성능을 비교 측정하고자 하는 대상 컴포넌트들을 선별하기 위한 그래픽 사용자 인터페이스이다.
이러한 상기 비교 성능 측정 컴포넌트 선택 인터페이스(140)에서 사용자에게 제공되는 인터페이스 화면이 도 3에 예시되어 있으며, 사용자는 제시된 각 컴포넌트의 명세 정보를 확인한 후 성능 비교를 할 대상 컴포넌트들을 선택하고 선택된 컴포넌트들에 대해 비교 성능 측정을 요청하게 된다.
이에 따라, 상기 컴포넌트 성능 비교기(150)는 상기 선택된 컴포넌트들에 대해 상기 컴포넌트 저장소(170)에서 그들의 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하고 그 비교 결과 데이터를 상기 컴포넌트 저장소(170)에 성능 비교 로그로서 저장한다.
또한, 상기 결과 그래프 생성기(160)는 상기 컴포넌트들에 대한 성능 비교 결과를 사용자가 쉽게 이해할 수 있도록 각 성능 요소별로 시각적인 그래프로 변환하여 제공한다.
즉, 상기 결과 그래프 생성기(160)는 컴포넌트 응답 시간 성능과 각 메소드의 응답 시간 성능에 대해 컴포넌트 이름별 또는 메소드 시그너춰별 막대 그래프로서 보여주고, CPU 응답 시간 성능과 메모리 응답 시간 성능에 대해서는 단위시간별성능 변화량을 꺾은 선 그래프로 보여준다.
도 4는 사용자가 상기 결과 그래프 생성기(160)에 대해 비교 성능 결과 그래프를 요청하기 위한 화면 창으로서, 사용자는 특정 성능 요소를 선택하고 그에 대해 선택된 컴포넌트들에 대한 비교 성능 그래프를 요청하게 된다.
도 5는 CPU 사용률 성능 또는 메모리 사용률 성능에 대한 꺾은 선 그래프를 보여주는 도면이고, 도 6은 컴포넌트 응답 시간 성능 또는 메소드 응답 시간 성능에 대한 막대 그래프를 보여주는 도면이다.
상기 컴포넌트 저장소(170)에는 컴포넌트에 대해 입력된 명세 정보, 상기 추출된 메소드 시그너춰 정보, 성능 측정 결과, 비교 성능 측정 결과, 함께 비교 성능 측정된 컴포넌트 정보 등이 데이터베이스화되어 관리된다.
상기 연관 컴포넌트 분석기(180)는 상기 비교 성능 측정 결과를 이용하여 컴포넌트간에 존재하는 연관 정도를 연관 규칙으로 찾고 이러한 연관 규칙을 적용하여 특정 컴포넌트에 대해 어떤 컴포넌트들이 연관성이 높은지를 분석하는 구성 부분이다.
즉, 상기 연관 컴포넌트 분석기(180)는 사용자들이 상기 비교 성능 측정 과정에서 함께 선택한 컴포넌트들의 성능 정보를 이용하여, 자주 함께 성능 비교되는 컴포넌트들은 자주 함께 사용되는 상호 연관성이 높은 것으로 분석한다.
연관 규칙에 따른 컴포넌트간의 연관 정도는 지지도(support)와 신뢰도(confidence)로 표현된다.
상기 지지도는 함께 비교된 컴포넌트 목록의 모든 사용자에 대한 데이터에서특정 컴포넌트가 비교 대상으로 선택된 횟수가 되고, 상기 신뢰도는 특정 컴포넌트의 타 컴포넌트들과의 연관성에 대한 신뢰 정도를 표현하기 위한 것으로 각 사용자가 특정 컴포넌트와 타 컴포넌트를 함께 비교 선택한 정도로서 산출된다.
즉, 도 7에 제시된 도표에 있어서, 컴포넌트 2의 지지도는 3이 되고, 컴포넌트 5의 컴포넌트 2에 대한 신뢰도는 1이 되고 컴포넌트 2의 컴포넌트 3,5에 대한 지지도는 2이고, 신뢰도는 1이 된다.
상기 연관 컴포넌트 분석기(180)는 각 컴포넌트 항목에 대해 상기와 같은 지지도와 신뢰도를 수치적으로 계산하여 각 컴포넌트 항목으로 구성되는 연관 규칙을 분석하고 소정 이상의 지지도를 갖는 컴포넌트들을 연관 규칙으로서 추출한다.
도 7은 컴포넌트 비교 성능 측정 시에 사용자가 함께 선택 요청한 컴포넌트 목록 데이터인 모든 사용자의 비교 성능 측정 로그(203)로부터 C1을 구하고, 연관 컴포넌트를 하나씩 증가시키면서 최소 지지도보다 지지도가 높은 컴포넌트 목록을 L2로서 찾는다. 연관 컴포넌트 목록(Ln, n=1, 2, 3, ...)을 더 이상 찾을 수 없을 때까지 반복하여 연관 컴포넌트 목록들을 추출하는 방법을 보여주고 있다. 연관 컴포넌트 목록들(Ln, n=1, 2, 3, ...)은 연관 규칙으로서 연관 컴포넌트를 검색하는데 사용된다.
상기 연관 컴포넌트 추천기(190)는 사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 때, 상기 연관 컴포넌트 분석기(180)로부터 추출된 연관 컴포넌트의 목록 정보와 상기 컴포넌트 성능 측정기(130)를 통해 측정된 각 컴포넌트별 성능 측정 결과 정보를 이용하여 연관성이 높은 컴포넌트 순서대로 관련 컴포넌트들을 자동 추천한다.
상기 연관 컴포넌트 추천기(190)는 연관성이 높고 사용자가 원하는 성능의 추천 컴포넌트들을 선별하기 위하여, 상기 추출된 연관 컴포넌트 목록 정보(즉, 상기 계산된 연관 규칙)와 상기 단일 컴포넌트에 대한 성능 측정 결과 정보(즉, 각 컴포넌트에 대한 측정 평가 항목의 평균과 편차, 최소 응답 시간을 보이는 메소드 개수, 최대 응답 시간을 보이는 메소드 개수)를 이용한다.
상기 연관 컴포넌트 추천기(190)가 특정 컴포넌트에 대해 연관 컴포넌트를 추천하는 기준은 지지도와 신뢰도가 큰 컴포넌트를 추천하되 같은 지지도와 신뢰도를 갖는 컴포넌트에 대한 우위는 성능 측정 평가 항목의 평균이 높고, 편차가 작으며, 최소 응답 시간을 보이는 메소드 개수가 많고, 최대 응답 시간을 보이는 메소드 개수가 작은 순서로 사용자에게 추천한다.
도 8은 사용자에게 보여지는 연관 컴포넌트 추천 화면도로서, 특정 컴포넌트에 대하여 추천 컴포넌트 목록이 제공되며, 추천 컴포넌트 목록은 각 추천 컴포넌트에 대한 추천 순위, 추천 컴포넌트 명, 컴포넌트 명세 정보, 추천 연관성 정도 등의 정보로 이루어진다.
이로써, 사용자는 추천 컴포넌트 목록의 각 컴포넌트 명세 정보와 그 추천 연관성을 확인하고 적절한 컴포넌트들을 선택하여 재사용 컴포넌트로서 활용할 수 있게 된다.
한편, 도 9는 본 발명에 따른 컴포넌트 성능 측정을 이용한 연관 컴포넌트 추천 과정에 대한 흐름도이다.
도 9에 도시된 바와 같이, 먼저 상기 컴포넌트 명세 정보 입력 인터페이스(110)를 통해 사용자로부터 성능을 측정하고자 하는 컴포넌트의 구조 명세 정보(201) 및 어플리케이션 서버 접속 정보(202)를 입력받는다.(S901)
상기 컴포넌트 메소드 추출기(120)는 상기 입력된 컴포넌트의 구조 명세 정보를 확인하여 컴포넌트에 어떤 메소드가 포함되는 지를 분석하고 메소드 시그너춰를 추출한다.(S902)
다양한 성능 측정 시나리오를 성능 측정 프로그램에 반영하기 위해, 상기 컴포넌트 성능 측정기(130)는 사용자로부터 컴포넌트 메소드의 반복 수행 횟수와 동시 접속 사용자 수를 입력받아 컴포넌트에 대한 스트레스 시험(stress test)할 정보를 준비한다.(S903)
또한, 상기 컴포넌트 성능 측정기(130)는 상기 추출된 컴포넌트 메소드 시그너춰 정보, 어플리케이션 서버 접속 정보, 및 상기 메소드 반복 수행 횟수와 동시 접속 사용자 수에 기반하여 컴포넌트의 성능을 측정할 프로그램을 자동으로 생성한다.(S904)
상기 컴포넌트 성능 측정기(130)는 생성한 성능 측정 프로그램을 실행하여 상기 어플리케이션 서버(200)를 통해 해당 컴포넌트를 호출하고 각 메소드의 응답 시간, 컴포넌트 응답 시간, CPU 사용률, 메모리 사용률, 메소드 응답 시간 요약 정보, CPU 변화량 요약 정보, 메모리 변화량 요약 정보와 같은 컴포넌트의 성능을 측정한다.(S905)
이와 같이 컴포넌트의 성능이 측정되면, 컴포넌트의 명세 정보와 상기 추출된 메소드 시그너춰 정보를 상기 성능 측정 프로그램의 실행 결과인 성능 측정 결과와 함께 컴포넌트 식별 번호별로 상기 컴포넌트 저장소(170)에 저장한다.(S906)
그리고, 사용자의 요청에 따라, 상기 결과 그래프 생성기(160)는 컴포넌트에 대한 성능 측정 결과를 각 성능 요소별로 막대 그래프 또는 꺾은 선 그래프로 보여준다.(S907)
이와 같이 컴포넌트들에 대한 성능 측정 결과가 저장된 상태에서, 사용자가 상기 비교 성능 측정 컴포넌트 선택 인터페이스를 통해 대상 컴포넌트들을 선택하고 선택된 컴포넌트간의 성능 비교를 요청하게 되면,(S908) 상기 컴포넌트 성능 비교기(150)는 상기 컴포넌트 저장소(170)에서 해당 컴포넌트들의 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교한다.(S909)
또한, 상기 결과 그래프 생성기(160)를 통해 비교 성능 측정 결과를 사용자가 쉽게 이해할 수 있도록 컴포넌트들에 대한 CPU 사용률, 메모리 사용률, 각 메소드 응답 시간, 컴포넌트 응답 시간 성능의 비교 그래프를 보여준다.(S910)
이때, 사용자가 비교 성능 측정된 결과에 만족하여 이 결과를 저장하려는 요청을 하는 경우, 비교 성능 측정 컴포넌트들의 목록과 성능 측정 결과를 단일 컴포넌트 별로 함께 비교 성능 측정이 되었다는 관련 정보로 컴포넌트 저장소(170)에 사용자 ID 및 컴포넌트 식별 번호별로 비교 성능 측정 로그(203)를 저장한다.(S911)
상기 연관 컴포넌트 분석기(180)는 상기 비교 성능 측정 결과 및 함께 비교된 컴포넌트 정보를 가공하여 특정 컴포넌트가 어떤 컴포넌트들과 연관성을 갖는지에 대한 연관 컴포넌트 목록 정보를 자동 분석하여 연관 규칙을 생성한다.(S912)
또한, 사용자가 특정 컴포넌트에 대해 성능 측정을 하면서 그에 대한 연관 컴포넌트의 추천을 요청할 경우, 상기 연관 컴포넌트 추천기(190)는 상기 비교 성능 측정 결과를 통해 가공 분석된 연관 컴포넌트 목록 정보와 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 이용하여 연관성이 높고 연관성에 대한 신뢰성이 높은 컴포넌트들을 선별한 후 우선 순위 별로 컴포넌트 사용자에게 추천한다.(S913)
한편, 본 발명에 따른 컴포넌트 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법은 사용자로부터 컴포넌트의 구조 명세 정보, 메소드 반복 수행 횟수 정보, 동시 접속 사용자수 정보, 및 어플리케이션 서버 접속 정보를 입력받는 컴포넌트 명세 정보 입력 단계와, 컴포넌트 구조 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출하는 컴포넌트 메소드 추출 단계와, 메소드 시그너춰 정보와 메소드 반복 수행 횟수, 동시 접속 사용자수를 반영하여 그 컴포넌트에 대한 성능 측정 프로그램을 생성하고, 성능 측정 프로그램을 실행하여 해당 어플리케이션 서버로부터 그 컴포넌트를 호출한 후 컴포넌트의 내부 성능을 측정하고 그 측정 결과를 각 단일 컴포넌트별로 데이터베이스화하는 컴포넌트 성능 측정 단계와, 사용자가 상기 성능 측정된 컴포넌트들 중에서 상호 비교 성능 측정할 비교 대상 컴포넌트들을 선택하면, 비교 대상 컴포넌트들에 대한 상기 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하고, 그 비교 결과 정보 및 함께 성능 비교된 컴포넌트 목록 정보를 데이터베이스화하는 컴포넌트 성능비교 단계와, 함께 비교된 컴포넌트 목록 정보를 분석하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 을 연관 규칙을 추출하는 연관 컴포넌트 목록 분석 단계와, 사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 경우, 상기 연관 규칙과 각 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 기반으로 특정 컴포넌트에 대해 연관성이 높은 순서로 관련 컴포넌트를 선별하여 추천하는 연관 컴포넌트 추천 단계로 이루어진다.
상술한 바와 같이 본 발명에 따른 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법은, 대용량의 컴포넌트 레파지토리에 대해 사용자가 원하는 연관 컴포넌트를 쉽게 식별할 수 있도록 자동화함으로써 이미 생산된 컴포넌트의 재사용률을 높이고 결과적으로 컴포넌트 사용자의 편의를 도모할 수 있다.
또한, 사용자가 재사용 컴포넌트를 찾기 위한 노력을 줄이고 컴포넌트 기반 시스템을 구축할 때 컴포넌트 재사용에 집중하여 보다 효율적인 소프트웨어를 생산할 수 있도록 한다.
또한, 컴포넌트의 소스 코드 없이 명세 정보의 분석을 통해 컴포넌트의 성능을 측정할 수 있는 성능 측정 프로그램을 자동으로 생성하기 때문에, 사용자가 원하는 다양한 성능 측정 요소를 측정하도록 성능 측정 프로그램을 용이하게 확장할 수 있으며, 이는 컴포넌트의 성능 측정을 다양한 성능 측정 요소를 통해 얻을 수 있고 재사용 컴포넌트를 제공하기 위한 확장된 방법의 적용이 용이하다는 효과가있다.
이상에서 설명한 것은 본 발명에 따른 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치 및 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.

Claims (14)

  1. 사용자로부터 컴포넌트의 구조 명세 정보와 어플리케이션 서버 접속 정보를 입력받는 컴포넌트 명세 정보 입력 인터페이스;
    상기 입력받은 컴포넌트 구조 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출하는 컴포넌트 메소드 추출기;
    상기 추출된 메소드 시그너춰 정보 및 사용자로부터 입력받은 메소드 반복 수행 횟수, 동시 접속 사용자수를 반영하여 그 컴포넌트에 대한 성능 측정 프로그램을 생성하고, 성능 측정 프로그램을 실행하여 해당 어플리케이션 서버로부터 그 컴포넌트에 포함된 기능을 호출한 후 컴포넌트의 내부 성능을 측정하는 컴포넌트 성능 측정기;
    사용자로부터 상기 성능 측정된 컴포넌트들 중에서 상호 비교 성능 측정될 대상 컴포넌트들의 선택 정보를 입력받는 비교 성능 측정 컴포넌트 선택 인터페이스;
    상기 선택된 비교 대상 컴포넌트들에 대한 상기 성능 측정 결과를 확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하는 컴포넌트 성능 비교기;
    상기 컴포넌트 성능 측정기의 단일 컴포넌트 성능 측정 결과에 대한 각 성능 요소별 그래프를 생성하여 사용자에게 보여주고, 상기 컴포넌트 성능 비교기의 컴포넌트들간 비교 성능 측정 결과를 각 성능 요소별 그래프로 보여주는 결과 그래프 생성기;
    각 컴포넌트별 분석 명세 정보, 상기 성능 측정 결과 정보, 상기 비교 성능 측정 결과 정보 및 함께 비교된 컴포넌트 목록 정보가 데이터베이스화되는 컴포넌트 저장소;
    상기 비교 성능 측정 과정에서 함께 비교된 컴포넌트 목록 정보를 분석하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 연관 규칙을 추출하는 연관 컴포넌트 분석기; 및
    사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 경우, 상기 연관 컴포넌트 목록 정보와 각 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 기반으로 특정 컴포넌트에 대해 연관성이 높은 순서로 관련 컴포넌트를 선별하여 추천하는 연관 컴포넌트 추천기;로 구성되는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  2. 제 1항에 있어서, 상기 컴포넌트 성능 측정기는 컴포넌트의 내부 성능으로 각 메소드의 응답 시간 성능, 메소드들의 응답 시간의 합계로 산출되는 컴포넌트 응답 시간 성능, CPU 사용률 성능, 메모리 사용률 성능, 메소드 응답 시간 요약 정보, CPU 변화량 요약 정보, 메모리 변화량 요약 정보를 측정하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  3. 제 1항에 있어서, 상기 컴포넌트 성능 비교기는 상기 결과 그래프 생성기를 통해 사용자에게 비교 성능 측정 결과를 각 성능 요소별 그래프로 보여준 후, 사용자가 그 결과에 대해 만족하여 저장을 요청하면, 함께 비교 성능 측정된 컴포넌트들의 목록 정보와 그 비교 성능 측정 결과 데이터를 각 단일 컴포넌트 식별자와 사용자 ID별로 상기 컴포넌트 저장소에 데이터베이스화하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  4. 제 1항에 있어서, 상기 결과 그래프 생성기는 상기 컴포넌트 성능 측정기의 단일 컴포넌트 성능 측정 결과와 상기 컴포넌트 성능 비교기의 비교 성능 측정 결과에 대한 성능 그래프를 생성함에 있어, 컴포넌트 응답 시간 성능 또는 각 메소드의 응답 시간 성능은 각각 컴포넌트 이름별 또는 메소드 시그너춰별 막대 그래프로 생성하고, CPU 사용률 성능 또는 메모리 사용률 성능은 각각 CPU 또는 메모리 사용률 변화를 단위 시간에 대한 꺾은선 그래프로 생성하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  5. 제 1항에 있어서, 상기 연관 컴포넌트 분석기는 컴포넌트에 대한 지지도와 신뢰도를 수치적으로 계산하여 각 컴포넌트 항목에 대한 연관 규칙을 찾고 소정 이상의 지지도 및 신뢰도를 갖는 컴포넌트들을 연관 컴포넌트 목록으로서 추출하는것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  6. 제 5항에 있어서, 상기 연관 컴포넌트 분석기는 함께 비교된 컴포넌트 목록의 모든 사용자에 대한 데이터에서, 특정 컴포넌트가 비교 대상으로 선택된 횟수로서 각 컴포넌트 항목의 지지도를 산출하고, 특정 컴포넌트의 타 컴포넌트들과의 연관성에 대한 신뢰 정도를 표현하기 위해 각 사용자가 특정 컴포넌트와 타 컴포넌트를 함께 비교 선택한 정도로서 신뢰도를 산출하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  7. 제 1항에 있어서, 상기 연관 컴포넌트 추천기는, 상기 추출된 연관 컴포넌트 목록 정보인 연관 규칙의 지지도와 신뢰도, 및 각 단일 컴포넌트에 대한 성능 측정 결과 정보인 성능 측정 평가 항목의 평균과 편차, 최소 응답 시간을 보이는 메소드 개수, 최대 응답 시간을 보이는 메소드 개수 정보를 이용하여 특정 컴포넌트에 대해 연관성 우선 순위의 연관 컴포넌트들을 선별하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  8. 제 7항에 있어서, 상기 연관 컴포넌트 추천기는 특정 컴포넌트에 대해 지지도와 신뢰도가 큰 컴포넌트를 우선적으로 추천하되 동일한 지지도와 신뢰도를 갖는 컴포넌트에 대한 우위는 성능 측정 평가 항목의 평균이 높고, 편차가 작으며, 최소 응답 시간을 보이는 메소드 개수가 많고, 최대 응답 시간을 보이는 메소드 개수가 작은 순서로 연관 컴포넌트를 선별하여 사용자에게 추천하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 장치.
  9. 사용자로부터 컴포넌트의 구조 명세 정보, 메소드 반복 수행 횟수 정보, 동시 접속 사용자수 정보, 및 어플리케이션 서버 접속 정보를 입력받는 컴포넌트 명세 정보 입력 단계;
    상기 입력받은 컴포넌트 구조 명세 정보를 토대로 컴포넌트에 포함되어 있는 메소드 시그너춰를 추출하는 컴포넌트 메소드 추출 단계;
    상기 추출된 메소드 시그너춰 정보와 메소드 반복 수행 횟수, 동시 접속 사용자수를 반영하여 그 컴포넌트에 대한 성능 측정 프로그램을 생성하고, 성능 측정 프로그램을 실행하여 해당 어플리케이션 서버로부터 그 컴포넌트를 호출한 후 컴포넌트에 포함된 메소드의 내부 성능을 측정하고 그 측정 결과를 각 단일 컴포넌트별로 데이터베이스화하는 컴포넌트 성능 측정 단계;
    사용자가 상기 성능 측정된 컴포넌트들 중에서 상호 비교 성능 측정할 비교 대상 컴포넌트들을 선택하면, 비교 대상 컴포넌트들에 대한 상기 성능 측정 결과를확인한 후 각 성능 측정 요소별로 컴포넌트의 성능을 상호 비교하고, 그 비교 결과 정보 및 함께 성능 비교된 컴포넌트 목록 정보를 데이터베이스화하는 컴포넌트 성능 비교 단계;
    함께 비교된 컴포넌트 목록 정보들을 분석하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 연관 규칙을 추출하는 연관 컴포넌트 목록 분석 단계; 및
    사용자가 특정 컴포넌트에 대한 연관 컴포넌트 목록을 요청할 경우, 상기 연관 컴포넌트 목록 정보와 각 단일 컴포넌트에 대한 상기 성능 측정 결과 정보를 기반으로 특정 컴포넌트에 대해 연관성이 높은 순서로 관련 컴포넌트를 선별하여 추천하는 연관 컴포넌트 추천 단계;로 이루어지는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
  10. 제 9항에 있어서, 상기 컴포넌트 성능 측정 단계는 컴포넌트의 내부 성능으로 각 메소드의 응답 시간 성능, 메소드들의 응답 시간의 합계로 산출되는 컴포넌트 응답 시간 성능, CPU 사용률 성능, 메모리 사용률 성능, 메소드 응답 시간 요약 성능, CPU 변화량 요약 성능, 메모리 변화량 요약 성능 측정하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
  11. 제 9항에 있어서, 상기 컴포넌트 성능 비교 단계는 사용자에게 비교 성능 측정 결과를 각 성능 요소별 그래프로 보여준 후, 사용자가 그 결과에 대해 만족하여 저장을 요청하면, 함께 비교 성능 측정된 컴포넌트들의 목록 정보와 그 비교 성능 측정 결과 데이터를 각 단일 컴포넌트별로 상기 컴포넌트 저장소에 데이터베이스화하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
  12. 제 9항에 있어서, 상기 연관 규칙 분석 단계는 함께 비교된 컴포넌트 목록 정보를 분석하여 지지도와 신뢰도를 수치적으로 계산하여 소정의 연관 컴포넌트 목록을 찾고 이 연관 컴포넌트 목록들을 토대로 연관 규칙을 추출하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
  13. 제 9항에 있어서, 상기 연관 컴포넌트 추천 단계는, 상기 추출된 연관 컴포넌트 목록 정보인 연관 규칙의 지지도와 신뢰도, 및 각 단일 컴포넌트에 대한 성능 측정 결과 정보인 성능 측정 평가 항목의 평균과 편차, 최소 응답 시간을 보이는 메소드 개수, 최대 응답 시간을 보이는 메소드 개수 정보를 이용하여 특정 컴포넌트에 대해 연관성 우선 순위의 연관 컴포넌트들을 선별하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
  14. 제 13항에 있어서, 상기 연관 컴포넌트 추천 단계는 특정 컴포넌트에 대해 지지도와 신뢰도가 큰 컴포넌트를 우선적으로 추천하되 동일한 지지도와 신뢰도를 갖는 컴포넌트에 대한 우위는 성능 측정 평가 항목의 평균이 높고, 편차가 작으며, 최소 응답 시간을 보이는 메소드 개수가 많고, 최대 응답 시간을 보이는 메소드 개수가 작은 순서로 연관 컴포넌트를 선별하여 사용자에게 추천하는 것을 특징으로 하는 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천 방법.
KR10-2002-0081820A 2002-12-20 2002-12-20 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법 KR100460536B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0081820A KR100460536B1 (ko) 2002-12-20 2002-12-20 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법
US10/404,331 US20040139186A1 (en) 2002-12-20 2003-04-02 Apparatus and method for recommending alternative components based on performance measurement results of components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0081820A KR100460536B1 (ko) 2002-12-20 2002-12-20 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040055195A KR20040055195A (ko) 2004-06-26
KR100460536B1 true KR100460536B1 (ko) 2004-12-08

Family

ID=32709697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0081820A KR100460536B1 (ko) 2002-12-20 2002-12-20 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법

Country Status (2)

Country Link
US (1) US20040139186A1 (ko)
KR (1) KR100460536B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US20050240799A1 (en) * 2004-04-10 2005-10-27 Manfredi Charles T Method of network qualification and testing
CN1924870A (zh) * 2005-09-02 2007-03-07 鸿富锦精密工业(深圳)有限公司 自动选取金属氧化物半导体场效应晶体管的系统及方法
US7853929B2 (en) * 2005-12-16 2010-12-14 International Business Machines Corporation Dynamically profiling consumption of CPU time in Java methods with respect to method line numbers while executing in a Java virtual machine
US8156135B2 (en) * 2006-12-22 2012-04-10 Yahoo! Inc. Method and system for progressive disclosure of search results
US7970905B2 (en) * 2008-07-03 2011-06-28 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems
JP5454216B2 (ja) * 2010-02-23 2014-03-26 富士通株式会社 電子装置の設計装置、電子装置の設計プログラム、及び電子装置の設計方法
WO2012008621A1 (ja) * 2010-07-16 2012-01-19 日本電気株式会社 指標監視システム、指標監視方法およびプログラム
US8661356B2 (en) * 2010-08-30 2014-02-25 Sap Ag Time application having an intergrated check engine
JP2012083969A (ja) * 2010-10-13 2012-04-26 Fujitsu Ltd 部品情報提供システム,部品情報提供装置および部品情報提供プログラム
US8898777B1 (en) * 2011-10-14 2014-11-25 Symantec Corporation Systems and methods for detecting user activities to identify deceptive activity
US9021152B2 (en) * 2013-09-30 2015-04-28 Google Inc. Methods and systems for determining memory usage ratings for a process configured to run on a device
US10110688B2 (en) * 2015-03-20 2018-10-23 Sony Interactive Entertainment LLC System and method for remote monitoring of API performance and user behavior associated with user interface
CN106843840B (zh) * 2016-12-23 2020-04-17 中国科学院软件研究所 一种基于相似度分析的源代码版本演化注释复用方法
KR101975272B1 (ko) * 2017-05-30 2019-05-07 충북대학교 산학협력단 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법
KR20170087435A (ko) * 2017-07-10 2017-07-28 주식회사 인브레인 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법
US10644962B2 (en) * 2017-11-15 2020-05-05 APImetrics Inc. Continuous monitoring for performance evaluation of service interfaces
ES2846780T3 (es) * 2018-02-23 2021-07-29 Kistler Holding Ag Método y producto de programa informático para determinar una cadena de medición para adquirir una magnitud de medición física

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754664B1 (en) * 1999-07-02 2004-06-22 Microsoft Corporation Schema-based computer system health monitoring
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US7437446B2 (en) * 2002-09-30 2008-10-14 Electronic Data Systems Corporation Reporting of abnormal computer resource utilization data

Also Published As

Publication number Publication date
KR20040055195A (ko) 2004-06-26
US20040139186A1 (en) 2004-07-15

Similar Documents

Publication Publication Date Title
KR100460536B1 (ko) 컴포넌트의 성능 측정 결과를 이용한 연관 컴포넌트 추천장치 및 방법
Teyton et al. Mining library migration graphs
US10467084B2 (en) Knowledge-based system for diagnosing errors in the execution of an operation
US8327325B2 (en) Programmable framework for automatic tuning of software applications
US10459704B2 (en) Code relatives detection
US11436133B2 (en) Comparable user interface object identifications
Asaduzzaman et al. Exploring API method parameter recommendations
CN108563736B (zh) 基于数据特征查询数据的方法及装置
JP6142705B2 (ja) オブジェクト指向言語のための記号テストドライバの反復生成
FI20170141A1 (en) Peräkkäisdata
CN115033894A (zh) 一种基于知识图谱的软件组件供应链安全检测方法及装置
US20040268302A1 (en) Framework for determining and exposing binary dependencies
Maamar et al. Fault localization using itemset mining under constraints
CN113900962B (zh) 代码差异检测方法及装置
CN114969762A (zh) 漏洞信息处理方法、服务装置和漏洞检测模块
US8024320B1 (en) Query language
Armaly et al. A case study of automated feature location techniques for industrial cost estimation
Al Shoaibi et al. Understanding software performance challenges an empirical study on stack overflow
AL-AHMAD et al. Jacoco-coverage based statistical approach for ranking and selecting key classes in object-oriented software
CN110580170A (zh) 软件性能风险的识别方法及装置
CN110928784A (zh) 一种软件测试环境监测方法及装置
KR102015545B1 (ko) 소스 코드 변경이 미치는 영향도를 분석하기 위한 시스템
KR102202923B1 (ko) 공유 모듈 환경 내의 모듈 특정 트레이싱 기법
CN115658551B (zh) 代码测试方法、存储介质、电子设备和装置
CN114648026B (zh) 一种多云环境下的资源交付方法、系统及存储介质

Legal Events

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

Payment date: 20081104

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee