1. 서 론
|
|
- 주은 나
- 8 years ago
- Views:
Transcription
1 리팩토링을 위한 성능 기반의 무브 메소드 영역 추출 및 분석 연구 (refactoring for performance-based move method region extraction and analysis of research) 권 예 진 이 준 하 박 용 범 단국대학교 전자계산학과 충남 천안시 동남구 단대로 119 서강대학교 컴퓨터공학과 서울특별시 마포구 백범로 25 단국대학교 전자계산학과 충남 천안시 동남구 단대로 119 요약: 소프트웨어가 복잡해지고 대형화됨에 따 라 다양한 소프트웨어 구조 개선 방법이 연구되 고 있으며, 특히 객체지향 시스템에서의 복잡도 를 낮추고 가독성, 구조, 성능, 유지보수, 추상 성 등을 향상시킬 수 있는 리팩토링 (Refactoring)이 많이 사용되고 있다. 리팩토 링은 객체지향 방법론에서 사용되는 높은 응집 도와 낮은 결합도 원칙("High Cohesion, Low Coupling principle", Larry Constantine, Edword Yourdon, 1970)에 따라 기존의 소프트 웨어를 개선하고 보수하는 것을 목표로 삼고 있 지만 객체지향 언어로서 가장 많이 사용되고 있 는 자바(Java) 자체의 특징과 객체들의 관계를 기반으로 연관성을 찾기 위한 연구는 진행된 바 가 없다. 본 연구에서는 자바에서 이슈 중에 하나인 메모리 관리와 GC(Gabage Collection)를 기반으로 각 객 체와 메모리 관계를 주요 팩터로 선정하여 리팩토 링을 시도하는 기법을 제안한다. 또한 리팩토링의 무브 메소드와 결합도를 이용하여 클래스간의 실 제 소프트웨어 시스템 내부 동작 메소드 호출을 통해 추출된 복합 요소를 통해 클래스드 사이의 무브 메소드 영역을 선정하고 무브메소드를 한 결 과 성능 영향도를 분석하였다. 핵심어: 리팩토링(Refactoring), 무브 메소드 (Move method), 결합도(Coupling), 메모리 성능 (Memory Performance) 1. 서 론 소프트웨어가 복잡해지고 대형화됨에 따라 다 양한 소프트웨어 구조 개선 방법이 연구되고 있 으며, 특히 객체지향 시스템에서의 복잡도를 낮 추고 가독성, 구조, 성능, 유지보수, 추상성 등 을 향상시킬 수 있는 리팩토링(Refactoring)[1] 이 널리 사용되고 있다. 리팩토링은 결과의 변 경 없이 코드의 구조를 재조정하여 가독성을 높 이고 유지보수를 편하게 하는 기법으로, 1990년 대 초반부터 연구되기 시작하였으며 소프트웨어 의 주요한 개발 분야로서 그 연구범위를 확대시
2 키고 있다[2][3]. 리팩토링은 객체지향 방법론에서 사용되는 높은 응집도와 낮은 결합도 원칙("High Cohesion, Low Coupling principle", Larry Constantine, Edword Yourdon, 1970)에 따라 기존의 소프트웨어를 개선하고 보수하는 것을 목표로 삼고 있다. 지금까지 리팩토링 연구는 주로 객체들의 구성 요소들을 정의하고 구성요 소들 사이의 응집도와 결합도, 복잡도를 측정 할 수 있는 메트릭을 이용하여 후보영역을 탐 색하고 자동으로 리팩토링을 할 수 있는 방법 으로 진행되어 왔다[4][5]. 또한 마틴 파울러 가 정의한 코드의 나쁜 냄새를 디자인 패턴으 로 재구성해 필요한 후보 영역을 재정의 하거 나[6], 각 객체들 사이의 유서성과 거리를 동 시에 측정하여 리팩토링을 하는 기법[7]을 제 시하는 등 다양한 시도를 거듭해왔다. 리팩토링에는 다양한 기법들이 연구되어 왔지 만 현재 객체지향 언어로서 가장 많이 사용되고 있는 자바(Java) 자체의 특징과 객체들의 관계를 기반으로 연관성을 찾기 위한 연구는 진행된 바 가 없다. 자바에서는 자동화된 메모리 관리 프로 그램인 JVM(Java Virual Machine)이 제공되며, JVM이 동작하는데 있어 GC(Garbage Collection) 는 Java 언어의 메모리 구조와 성능에 중요한 부 분을 차지하고 있다. 많은 프로그래머는 기존의 C언어나 C++언어처럼 프로그래머가 메모리 할당 과 반환을 일일이 처리하지 않고 비사용중인 메 모리는 자동으로 GC가 처리해 줄 것이라고 예상 하기 때문에 자바를 편리하다고 생각하지만 의외 로 잘못된 변수 선언이나 객체 참조 관계 때문에 비사용중인 메모리가 반환되지 않아 메모리 누수 (Memory Leak)가 발생하는 경우가 많다[8]. 이 러한 문제는 결국 소프트웨어가 대형화되고 실시 간 처리가 필요한 시스템과 같은 경우에는 치명 적인 결함을 유도할 수 있는 문제가 된다. 본 연구에서는 자바에서 이슈 중에 하나인 메모 리 관리와 GC(Gabage Collection)를 기반으로 각 객체와 메모리 관계를 주요 팩터로 선정하여 리팩토링을 시도하는 기법을 제안한다. 또한 리 팩토링을 하기 위한 기준으로 메모리 성능을 개 선할 수 있는 기준을 제시하며 리팩토링의 무브 메소드와 결합도를 이용하여 클래스간의 실제 소 프트웨어 시스템 내부 동작 메소드 호출을 통해 추출된 복합 요소를 통해 클래스를 분해하여 재 구성하고 리팩토링 하는 재구성 기법에 대하여 정의한다. 2. 관련 연구 2.1. 리팩토링과 무브메소드 리팩토링은 프로그램의 행위를 보전하면서 프로그램의 가독성, 구조, 성능, 유지보수성, 추상성 등을 향상시키는 향상시키는 방법이다 [1]. 리팩토링은 프로그램의 가독성을 높일 뿐만 아니라 개발 속도를 높일 수 있도록 효 율적이고 통제된 방법을 제공하여 소프트웨어 의 가치를 높인다는 장점을 가진다[9]. 여러 가지 리팩토링 기법중 하나인 무브 메소드(Move Method)는 클래스 내에 메소드를 다른 메소드로 이동시키는 방법이다. 무브 메 소드는 메소드가 자신이 정의된 클래스보다 다른 클래스의 기능을 더 많이 사용하고 있다 면, 이 메소드를 가장 많이 사용하고 있는 클 래스에서 비슷한 몸체를 가진 새로운 메소드 를 만들고 이전 메소드는 간단한 위임으로 바 꾸거나 완전히 제거하는 것을 의미한다. 무브 메소드는 클래스가 너무 많은 동작을 가지고
3 있거나, 다른 클래스와 공동으로 작업하는 부 분이 너무 많아텨 단단한 결합이 되었을 경우 사용하게 된다. 또한 자신이 속해있는 클래스 보다 다른 클래스를 더 많이 참조하는 메소드 가 존재한다면 리팩토링을 하게 된다[2]. 리팩토링에서 무브 메소드를 결정 짓는 요소 는 클래스간의 결합도이다. 너무 단단하게 결합 되어 있는 클래스들은 전체적인 프로그램의 성능 을 저해시키는 요소가 된다. 따라서 결합도를 측 정할 수 있는 메트릭을 통해 단단하게 결합되어 있는 클래스들을 탐색하고 자동으로 리팩토링을 하기 위해 무브 메소드를 통해 기존의 소프트웨 어를 개선 할 수 된다 결합도 메트릭 결합도는 모듈 또는 클래스들이 상호 의존하 는 정도를 나타내는 것으로 모듈이나 클래스들 간의 결합도를 최소화시켜야 모듈의 독립성이 증 가되며, 시스템 전체의 성능이 좋아지고 복잡도 가 줄어든다. 그러나 두 개의 모듈이 서로 강하 게 연결되어 상호간의 메시지 전송이 잦고, 주고 받는 데이터들의 수가 많은 경우는 시스템 자체 에 이해도가 떨어지며, 복잡도가 증가하고 객체 지향 패러다임에서 적절하게 설계되었다고 할 수 없다[10]. 결합도 메트릭은 지금까지 많은 연구가 진행 되어 왔다. 다양한 방법으로 정적 소스코드를 분석하거나 소프트웨어 실행시에 나타나는 결합 도를 측정하기 위한 동적 메트릭 연구 등 코드 내의 결함을 자동으로 찾기 위해 연구되고 응용 되었다. 결합도 메트릭 중 클래스의 메소드 호출이나 메시지 전달 방식을 측정하는 메트릭으로는 MM(Method-Method interaction), IPC(Information Flow-based Coupling), MPC(Message Passing Coupling)가 있다. MM은 클래스 C에서 구현된 클래스 D의 정적 호출 메 소드나 또는 같은 메소드에 포인터를 받는 것으 로 정의한다. MM은 정의에서 분명하게 호출의 빈도를 계산하지 않고 클래스 메소드나 시그니 처(문법)을 통해 계산되므로 정적 결합도 측정 방법에 해당한다. 이 MM의 측정 메트릭의 일반 화 공식은 다음과 같다[11]. (1) IPC는 메소드를 호출하는 수를 카운트하여 클 래스들의 가중치를 매개변수의 수에 따라 다르 게 부과하는 정보흐름에 기반한 커플링 측정 방 법이다. 클래스 사이의 정보흐름, 즉 메소드 호 출의 빈도를 이용하여 측정하는 것이기도 하자 만 객체 호출에서 클래스의 메소드로부터 계산 되기도 한다[12]. MPC는 다른 클래스에서 한 클 래스의 메소드에서 호출하는 문장의 개수로 결 합도를 측정하는 방법이다. 메시지 전송의 문장 은 실제 객체의 메소드 호출의 실행 수를 반영 하지 않는다[13]. 또한 객체들 사이의 참조 관계나 어트리뷰트 접근과 같은 호출 관계를 포함하는 메트릭으로 는 RFC(Response for Class), CBO(Coupling Between Object), CP(Coupling Factor)가 있 다. RFC는 클래스의 반응을 나타내는 원소를 포 함하는 집합의 개수를 측정하는 방법이다. 반응 집합(Response set)은 모든 지역적인 메소드에 서 다른 지역적인 메소드를 호출하는 클래스들 로 이루어져 있다. 즉 RFC는 지역 메소드와 이 지역 메소드에서 호출하는 따른 지역 메소드들 로 구성되어 있다[14]. CBO는 두 클래스는 한
4 클래스의 메소드를 사용하거나 또는 인스턴스 변수의 메서드가 다른 클래스에 의해 정의되면 결합된다. 로 정의 된다. 이 측정 방법은 실행 되는 동안의 호출의 개수를 계산하지 않기 때문 에 동적인 결합도 측정 척도는 아니지만 호출된 메소드의 변수의 개수로 계산된다[13]. CP(Coupling Factor)는 결합도를 메시전달 또는 클래스 인스턴스간의 의미있는 연결로 의해 정 의된다. 따라서 동적 결합도 측정에 이용되는 방법이다. CP는 클래스들의 상호작용에 가능한 다양한 방식의 정보 교환을 포함하는 결합도 측 정 방식이다. CP는 다음 식2와 같이 정의되어 있다[15]. (2) 각 클래스들의 구조적인 결합도를 측정하는 메트릭으로는 DIT(Depth of Inheritance Tree), NOC(Number of Children)가 대표적이다. DIT는 클래스의 상속관계의 계층적 구조에서의 위치를 측정하는 메트릭이다. DIT 메트릭이 클수록 클래 스를 유지하는 것이 더욱 어려워 진다. 최상위 루트 클래스의 경우 DIT는 0이 된다. NOC(Number of Children)는 현재 클래스에서 연 관된 자식클래스를 측정할 수 있는 메트릭이다. DIT가 계층적 구조에서 클래스의 위치를 측정하 는 메트릭이라면 DIT는 직접적으로 연관된 자식 클래스의 개수를 가지고 측정하는 방법이다[14]. 기존의 결합도 측정 방식은 소스 코드 내의 메소드 호출이나 메시지 전송, 어트리뷰트 접근 과 같이 소스코드 자체의 결합도에 한정되어 있 다. 소스코드의 결합도를 측정하는 것은 실제 실행중인 소프트웨어의 결합도와는 차이가 있을 수밖에 없고, 클래스간의 참조 관계가 없다고 하더라도 실제 수행중에 나타나게 되는 객체들 의 관계는 있을 수도 있다. 따라서 본 논문에서 는 실제 수행중인 프로그램의 객체들의 관계를 기반으로 결합도를 측정하고 메모리 성능을 향 상시킬 수 있는 프로세스를 제안한다 객체 관계 두 객체간의 결합도는 객체간의 관계를 통해 드러나게 된다. 일반적으로 객체의 관계는 크게 연관관계와 상속 관계로 표현된다. 결합도를 측 정하는 메트릭은 객체들의 관계에 따른 수치를 일반화 하는 것으로, 객체들간의 의존관계나 연 관관계를 기반으로 측정된다. 따라서 기존의 객 체 관계를 분석하고 정의하는 것은 결합도를 이 해하는 방법 중 하나이다. 객체 관계에서 일반 관계(General Relationship)은 연관 관계(Association), 집 합 연관(Aggregation), 합성 연관 (Composicion)으로 나누어진다. 연관 관계는 클 래스 간의 정적인 관계를 설명하는 가장 추상적 인 방법으로 두 클래스 간의 또는 더 많은 클래 스들 사이의 의존관계나 관계 종류의 상태를 나 타낼 수 있는 관계이다. 연관관계는 인스턴스를 파라미터로 가지고 있거나 인스턴스를 반환 받 는다. 집합 연관은 전체 부분 관계를 나타내며, 연관 관계보다 더 구체화 시켰을 경우 사용된 다. 합성 연관은 한 클래스가 다른 클래스를 독 점적으로 소유하고 있지 않다는 점을 강조하기 위해 사용된다. 또한 모든 연관 관계는 합성 연 관으로 대체될 수 있지만 합성 연관 관계는 일 반 연관관계로 대체될 수 없다. 집합 연관은 참 조 인스턴스를 독점적으로 소유하고 있는 클래
5 스와 해당 클래스가 참조되어 있는 클래스의 관 계를 나타낸다. 집합 연관의 경우 클래스의 변 경 사항들이 시스템의 나머지 부분이 전파되지 않는다. 상속 관계(Inheritance)는 일반화 관계 (Generalization)과 실체화 관계(Realization) 두 가지로 나눌 수 있다. 일반화 관계는 추상적 인 클래스에서 일반화된 구체적인 클래스의 관 계로 정의되기 때문에 상속을 의미한다. 예를 들어 하나의 클래스가 다른 클래스로 확장할 때 일반화 라고 한다. 실체화 관계는 인터페이스를 이용한 관계이며 클래스들이 구현해야 하는 행 동을 순서대로 정의하여 제공한다. 즉 객체가 서로 통신하는 방법을 지정한 것이다.[16] 3. 객체 참조 관계에 따른 리팩토링 영 역 정의 자바에서는 자동화된 메모리 관리 프로그램인 JVM을 통하여 플랫폼에 상관없이 다양한 OS 환 경에서 실행 가능하기 때문에 가장 널리 사용되 는 프로그래밍 언어이며, 기존의 다른 프로그래 밍 언어보다 속도가 느린 단점을 가지고 있다. 자바에서 성능을 결정짓는 주요 요소중 하나인 GC의 알고리즘은 객체들의 참조관계를 기준으로 메모리를 할당하거나 반환한다. 따라서 본 연구 에서는 메모리 상주를 결정짓는 객체 참조관계 를 기준으로 하여 리팩토링을 하는 프로세스를 제안한다. 본 연구에 앞서 실제 자바 실행 환경 에서 GC에 의한 메모리 결정 관계를 정의하고 해당 문제를 리팩토링의 주요 요소로 결정짓기 위해 프로그램의 실제 수행 단계에서의 객체들 의 참조 관계와 메모리 사용량을 비교 분석한 다 리팩토링 프로세스 파울러는 무브 메소드의 적용 요인을 메소드 가 자신이 정의된 클래스보다 다른 클래스의 기 능을 더 많이 사용하고 있는 경우 로 정의하고 있다[2]. 이러한 무브 메소드의 적용 요인을 프 로그램 실행 시에 나타날 수 있는 메모리 관계 를 통하여 정의한다. 실제 프로그램의 동작 과 정에서 작은 메모리 영역을 차지하고 있는 클래 스에서 큰 메모리를 차지하고 있는 클래스의 하 나의 기능만을 수행하기 위해 참조관계를 가지 고 있는 경우에는 GC에서 제거하지 못하고 메모 리에 상주하게 되는 경우를 초래하게 되어 성능 적인 면에서 불리하게 작용할 수 있다. 따라서 이러한 객체들 사이의 참조 관계를 통해 해당 영역을 추출하고 무브 메소드를 수행할 리팩토 링 후보영역으로 선정한다. 리팩토링의 후보 영 역을 추출하기 위해서는 프로그램 동작 과정에 서 전체적인 메소드 콜 관계를 통해 실제 동작 수행시 메모리 사용량을 비교하여 리팩 프로그 램의 수행중에 나타나는 객체들의 콜 관계에 따 라 리팩토링이 필요한 영역을 추출하고 동시에 메모리에 상주하는 메소드들을 결합한다. 해당 과정을 그림으로 나타내면 아래의 그림 2와 같 다. 그림 1. 성능 기반 리팩토링 프로세스
6 그림 1은 객체지향적으로 프로그래밍 된 프 로그램을 동작 과정 중에 나타나게 되는 메소드 콜 관계를 통해 동시간에 수행되는 메소드를 기 준으로 통합해 리팩토링 하기 위한 프로세스이 다. 동시간에 수행되는 메소드들의 콜 관계와 시간와 시간을 기준으로 같은 시간에 존재하게 되는 확률 계산과 함께 무브 메소드의 대상이 되는 메소드들을 추출한다. 이렇게 무브 메소드 의 대상이 되는 메소드를 통해 결합도가 높은 클래스들을 중심으로 무브 메소드의 영역을 한 정한다. 결과적으로 무브 메소드의 영역을 지정 하고 해당 메소드를 다른 클래스로 옮겼을 경우 같은 시간에 존재하며, 클래스간의 결합도를 낮 추게 되어 메모리 성능이 향상된 프로그램으로 수정할 수 있게 된다 리팩토링을 위한 영역 정의 본 연구에서는 프로그램이 실행중에 나타나게 되는 메소드 콜 관계와 실행되는 시간에 따라 같은 시간대에 존재하는 메소드들의 결합도와 확률을 측정하여 리팩토링을 위한 후보 영역으 로 선정한다. 실제 두 개의 클래스 인스턴스의 메소드들의 실행 시간을 간단하게 그림으로 표 현하면 아래의 그림 2와 같다. 그림 2. 클래스별 메소드 수행시간 위의 그림과 같이 시간에 따른 메소드의 수행 시간을 보면 각 클래스의 인스턴스에 존재하는 메소드별로 수행되는 시간이 각기 다르게 나타 나게 된다. 실제 JVM에 의해 프로그램이 실행 될 경우 ClassA에 대한 참조를 ClassB에서 가지 고 있다면 두 클래스 모두 GC에 의해 제거되지 않고 메모리상에 존재하게 된다. 또한 ClassA의 모든 기능이 끝났다고 하더라도 ClassB의 호출 로 인해 메모리에 상주하게 되면 메모리 누수가 발생할 가능성이 높아진다. 따라서 각 시간별로 메소드들이 같이 존재할 확률을 계산하고 또한 각 객체들 사이의 결합도, 어트리뷰트에 접근하 는 내부 결합도를 복합적으로 측정하여 동시에 수행되는 기능을 묶어 새로게 소스코드를 수정 하는 리팩토링 기법을 제안한다. 먼저 각 클래스의 메소드를 아래의 식 3과 같이 정의한다. (3) 각각의 메소드를 메소드 호출 시간에 따라 처 음 메소드가 호출되는 시간과 메소드 호출이 끝 나는 시간으로 표현한다. 메소드의 호출 시간과 메모리에 상주하게 되는 시간을 통해 같은 시간 에 호출된 메소드가 얼마나 있는지, 서로 다른 클래스에 존재하는 메소드들이 같은 시간에 존 재하는지를 측정한다. 메소드의 호출에 따른 시 간 정의와 호출 관계의 데이터를 통해 아래의 식 4와 같이 각각의 메소드가 같은 시간에 존재 할 확률을 계산하게 된다. (4) 메소드 와 가 같은 시간에 존재할 확률 은 전체 시간은 만큼 쪼개고 해당 구간에 와 가 존재할 확률을 곱한다. 그 후 전체 구간 동안의 두 메소드가 존재할 확률을 계산한다. 확률 계산적으로 같은 시간에 같은 클래스에 속해있지 않은 두 메소드가 존재할 확률이 더
7 크고, 같은 클래스내의 다른 메소드들과 존재 할 확률보다 다른 클래스내의 존재하는 메소드 와 결합되어 있다면 해당 클래스로 메소드를 옮기는 것으로 무브 메소드의 영역을 정의하게 된다. 전체 계산과정을 알고리즘으로 표현하면 아래와 같다. if if 그림 3. 무브 메소드 추출 알고리즘 알고리즘을 살펴보면 처음 각 클래스 내부에 서 메소드들끼리 같은 시간대에 존재할 확률을 계산한 와 가 있다. 위에서 정의된 식 4에 따라서 각기 다른 클래스에 존재하는 메소 드들 사이의 확률을 계산한 후에 내부 메소드들 과 확률계산 결과와 비교 한 후 만약 다른 클래 스에 존재하는 두 메소드의 확률 결과가 더 크 다면 결과적으로 무브 메소드를 수행할 후보 영 역으로 추출된다. 4. 무브 메소드와 결합도 관계 무브 메소드를 수행해야 하는 후보 영역을 추 출하게 되면 두 메소드들 사이의 참조 관계나 호출 관계가 존재하는 경우도 있지만 단순히 메 소드들이 동시에 존재하게 되는 경우도 있다. 만약 메소드들 사이에 아무런 연관도 없지만 여 러 스레드에서 동시에 동작하기 때문에 무브 메 소드를 하기 위한 후보 영역으로 선정되고, 메 소드를 다른 클래스로 옮기게 된다면 오히려 복 잡도가 증가하고 서로 관련 없는 클래스들 사이 의 결합도가 증가하게 되는 문제가 발생 할 수 있다. 따라서 본 연구에서는 무브 메소드의 후 보영역으로 추출된 두 메소드들의 리스트를 통 해 두 메소드의 결합관계를 측정하고 결합관계 가 존재한다면 최종적으로 무브 메소드의 영역 으로 선정하고 리팩토링을 수행하도록 한다. 결합도를 측정하는 방법으로는 정적 메트릭을 사용하며, 정적으로 측정하여 서로 결합되어 있 는 클래스의 메소드들 사이의 확률 분포를 통해 무브 메소드를 할 영역을 결정한다 결합도를 이용한 결정 3장에서 추출된 무브 메소드에서 결합도를 기 반으로 최종 무브 메소드 결정을 하기 위한 프 로세스는 아래의 그림 3과 같다. 그림 4. 결합도 결정 프로세스 그림 3의 알고리즘에 따라 프로그램의 메소드 콜 관계를 가진 시퀀스를 통해 실제 메소드들의 호출 관계를 분석하고 같은 시간대에 존재하는 메소드들의 확률 계산을 한다. 확률적으로 같은 시간대에 존재하며, 같은 클래스들과 동시에 실 행되지 않는 경우 최종적으로 무브 메소드의 후 보 리스트에 존재하게 된다. 그러나 리팩토링이
8 필요한 후보 영역일지라도 서로 연관성이 존재 하지 않는 경우 리팩토링을 시도할 경우 오히려 프로그램의 성능을 떨어뜨릴 수 있다. 따라서 결합도 측정을 통해 서로 결합되어 있는 클래스 들 사이의 메소드일 경우 무브 메소드를 통한 리팩토링을 한다. 먼저 위의 예제 프로그램을 메모리 측정 프로 그램인 Jprofiler를 통해 수행중에 메모리 사용 량을 측정하면 아래의 그림 6과 같다. 5. 사례 연구 간단하게 본 연구의 제안을 증명하기 위해 큰 클래스와 작은 클래스 사이의 일반 연관 관계를 기반으로 메모리 사용량과 메소드 콜 관계를 분 석하였다. 전체 클래스의 구조는 아래의 그림 5 와 같다. 그림 5. 예제 프로그램 LargeClass의 메소드인 testlarge1()은 LargeClass의 inner 클래스인 GeneralClass를 호출하며, 간단한 기능을 수행한다. SmallClass 의 testsmall1() 메소드는 LargeClass의 testlarge2() 메소드를 호출한다. 전체적인 프로 그램의 흐름은 처음 LargeClass를 생성하고 내부 적인 기능을 수행한다. LargeClass는 내부적으로 해쉬맵을 사용하여 대용량의 데이터를 생성하고 처리한다. Large클래스의 수행이 끝난 뒤에 Small 클래스에서 내부적으로 메소드를 호출하고 기능을 수행하게 되는데 LargeClass의 testlarge2()메소드를 호출하기 때문에 LargeClass는 메모리에 SmallClass가 종료될 때 까지 상주하게 된다. 그림 6. 메모리 사용량과 GC 동작 메모리 사용량은 지속적으로 증가하며 GC의 동 작이 일어난다고 해도, 실제 프로그램 내의 참조 관계로 인해 메모리 사용량이 증가된다. SmallClass는 지속적으로 생성되었다가 사라지는 주기가 짧은 클래스이지만 LargeClass를 참조하 기 때문에 LargeClass가 GC에 의해 삭제되지 못 하고 지속적으로 존재하게 된다. LargeClass 내에서 testlarge2() 메소드는 LargeClass 내의 다른 메소드들이 모두 끝났음 에도 불구하고, 지속적으로 메모리에 존재하게 된다. 또한 SmallClass의 호출에 따른 testlarge2() 메소드의 관계 때문에 오히려 LargeClass 내에 존재하는 testlarge2()메소드 가 SmallClass의 다른 메소드들과 같이 동작하 는 상주 시간이 더 긴 것을 알 수 있다. 프로그 램에서 무브 메소드를 통해 리팩토링을 해야하 는 부분은 LargeClass의 testlarge2()메소드를 SmallClass로 옮기는 것이다. testlarge2() 메 소드를 SmallClass로 옮기면 결합 관계가 사라 지게 된다. 처음 원래 프로그램에서 메소드를 옮 긴 후의 메모리 사용량과 GC의 활용 결과를 분석해 보면 아래의 그림 7과 같다.
9 그림 7. 무브 메소드 결과 그래프 상으로는 처음 결과와 무브 메소드를 한 결과의 차이가 거의 없다. 그러나 실제 메모 리 사용량과 수치값을 비교하면 메모리 사용량 이 줄어든 것을 알 수 있다. 또한 LargeClass 의 내부 기능 수행이 끝나게 되면 LargeClass 는 SmallClass와 참조관계가 존재하지 않으므로 GC에 의해 메모리 해제가 된다. 무브 메소드를 하기 전과 하고 난 후의 메모리 사용량을 비교 하면 아래의 표 1과 같다. 실험 메모리 사용량 FreeSize Move method 전 1.141GB 0.593GB Move method 후 1.060GB 0.553GB 표 1. 메모리 사용량 비교 위의 표 1과 같이 무브 메소드를 하기 전과 하고 난 후의 메모리 사용량을 측정해 보면 실 제 무브 메소드를 수행한 후에 메모리 사용량이 감소한 것으로 측정된다. 이 결과 값은 LargeClass에 대한 SmallClass의 참조 관계를 끊고 메소드를 옮김으로서 실제 같이 동작하는 메소드들을 한 클래스로 묶어 쓸데없는 참조 관 계나 메모리 낭비를 줄여주는 효과를 볼 수 있 다. 6. 결 론 지금까지 리팩토링을 위한 성능 기반의 무브 메소드 영역을 추출하고 실제 적용하여 메모리 의 효율성과 성능에 어떠한 영향을 끼치는지 분 석하였다. 리팩토링의 영역을 선정하기 위해 프 로그램 수행 중에 같은 시간에 나타나게 되는 메소드들의 확률 분포와 결합도를 기반으로 무 브 메소드의 주요 팩터로서의 정의와 프로세스 를 제안하였으며, 결합도를 참고로 하여 실제 무브 메소드를 할 결정 요인으로 사용하였다. 현재까지 리팩토링 연구는 주로 객체들의 구 성 요소들을 정의하고 구성요소들 사이의 응집 도와 결합도, 복잡도를 측정할 수 있는 메트릭 을 이용하여 후보영역을 탐색하고 자동으로 리 팩토링을 할 수 있는 방법으로 진행되어 왔다. 그러나 본 연구에서는 메모리 성능과 각 객체들 의 메소드 참조 관계를 리팩토링의 주요 팩터로 서 선정하고 이를 적용하는 프로세스를 제안하 였다. 이는 리팩토링을 위한 새로운 지표로서 실제 프로그램의 동작과 성능에 영향을 줄 것으 로 기대된다. 향후 연구로는 자동화된 소스 분석과 성능에 따른 확률 분포를 제공할 수 있는 툴을 제공할 예정이며, 또한 실제 메소드를 다른 클래스로 옮기기 위해 객체들의 관계와 메소드들의 관계 를 분석하고 자동화하기 위한 연구를 할 예정이 다. 참고문헌 [ 1] Bindu and Mehra, A Critique of Cohesion Measures in the Object-Oriented paradigm, Masters Thesis, Department of Computer Science, Michigan Technologial university, 1997.
10 [2] Martin Fowler, "Refactoring Improving the Desinge of Existing Code", Addision Wesley, [3] W.G. Griswold, "Program Restructuring as an Aid to Software Maintenance", PhD Thesis, Dept. of Computer Science & Engineering, University of Washington, [4] Frank Simon, Frank Steinbruckner, Claus Lewerentz, Metrics Based Refactoring, IEEE, 2001 [5] Yoshiki Higo, Toshihiro Matsumoto, Shinji Kusumoto, Katsuro Inoue, Refactoring Effect Estimation based on Complexity Metrics IEEE, [6] Min Zhang, Nathan Baddoo, Paul Wernick, etc., Improving the precision of Fowler s Definitions of Bad Smells, IEEE, 2009 [7] Nikolaos Tsantalis, etc., Identification of Move Method Refactoring Opportunites, IEEE T R A N S A C T I O N S O N SOFTWARE ENGINEERING, VOL.35, NO.3, MAY/JUNE 2009 [8] Wim De Pauw, Gray Sevirsky, Visualizing reference patterns for solving memory leaks in Java, ECOOP, 1999 [9] 정영애, 박용범, 클래스 간 메소드 위치 결정 방법의 비교, 한국콘텐츠 학회논문지 vol.6 No.12, 2006 [10] Roger S. Pressman, Software Engineerignn A Practitioners Approach, Fourth Edition McGrawHill, 1997 [11] Briand, L., P.Devanbu, and W.Melo, An Investigation into Coupling Measures for C++, Proc. Of the 19th International Conference on Software Engineering, ICSE 97, Boston, May 1997, pp [12] Lee, Y., B. Liang, and S. Wu, Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow, Proc. Of International Conference on Software Quality, Maribor, Slovenia, 1997 [13] Li, W., and S. Henry, Object Oriented Metrics that predict Maintainability Journal of Systems and Software, Vol23, No. 2, 1993, pp [14] Chidamber, S., and C.Kemerer, A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, Vol 20, No 6, June 1994, pp [15] Ruchika Malhotra, "Empirical Study of Object-Oriented Metrics", Published by ETH Zurich, Chair of Software Engineering, 2006 [16] OMG, OMG Unified Modeling LanguageTM(OMG UML), SuperStructure, August 2011.
01(567-574) SAV13-05.hwp
성능기반 리팩토링 기법 연구: 무브 메소드 영역 추출 및 식별 567 성능기반 리팩토링 기법 연구: 무브 메소드 영역 추출 및 식별 (Performance-based Refactoring: Identifying & Extracting Move-method Region) 권 예 진 이 준 하 박 용 범 (Yejin Kwon) (Zuna Lee) (Youngbom
More informationexample code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for
2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon
More information특집-5
76 May June 2008 IT Standard & Test TTA Journal No.117 TTA Journal No.117 77 78 May June 2008 IT Standard & Test TTA Journal No.117 TTA Journal No.117 79 80 May June 2008 IT Standard & Test TTA Journal
More informationUML
Introduction to UML Team. 5 2014/03/14 원스타 200611494 김성원 200810047 허태경 200811466 - Index - 1. UML이란? - 3 2. UML Diagram - 4 3. UML 표기법 - 17 4. GRAPPLE에 따른 UML 작성 과정 - 21 5. UML Tool Star UML - 32 6. 참조문헌
More information<30382E20B1C7BCF8C0E720C6EDC1FD5FC3D6C1BEBABB2E687770>
정보시스템연구 제23권 제1호 한국정보시스템학회 2014년 3월, pp. 161~184 http://dx.doi.org/10.5859/kais.2014.23.1.161 베이비붐세대의 디지털라이프 지수* 1) 권순재**, 김미령*** Ⅰ. 서론 Ⅱ. 기존문헌 연구 2.1 베이비붐세대의 현황과 특성 2.2 베이비붐의 세대이 정보화 연구 Ⅲ. 연구내용 및 방법 Ⅳ.
More information03-최신데이터
Database Analysis II,,. II.. 3 ( ),.,..,, ;. (strong) (weak), (identifying relationship). (required) (optional), (simple) (composite), (single-valued) (multivalued), (derived), (identifier). (associative
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2018 Oct.; 29(10), 799 804. http://dx.doi.org/10.5515/kjkiees.2018.29.10.799 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) Method
More information학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석
,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,
More information01(767-774) SAV12-04.hwp
XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 767 XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 (Improving Aspect Oriented Programming with Aspect Specification using XML) 김 은 선 이 병 정 이 재 호 (Eunsun Kim) (Byungjeong Lee) (Jaeho Lee) 요
More informationJOURNAL OF THE KOREA ROAD & TRANSPORTATION ASSOCIATION JOURNAL OF OF THE THE KOREA ROAD & TRANSPORTATION ASSOCIATION JOURNAL OF OF THE THE KOREA ROAD & TRANSPORTATION ASSOCIATION JOURNAL OF OF THE THE
More informationuntitled
PMIS 발전전략 수립사례 A Case Study on the Development Strategy of Project Management Information System 류 원 희 * 이 현 수 ** 김 우 영 *** 유 정 호 **** Yoo, Won-Hee Lee, Hyun-Soo Kim, Wooyoung Yu, Jung-Ho 요 약 건설업무의 효율성
More informationSoftware Requirrment Analysis를 위한 정보 검색 기술의 응용
EPG 정보 검색을 위한 예제 기반 자연어 대화 시스템 김석환 * 이청재 정상근 이근배 포항공과대학교 컴퓨터공학과 지능소프트웨어연구실 {megaup, lcj80, hugman, gblee}@postech.ac.kr An Example-Based Natural Language System for EPG Information Access Seokhwan Kim
More informationHigh Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo
High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a low-resolution Time-Of- Flight (TOF) depth camera and
More information1
- MEDIC (MEDical Intelligent wheelchair ) MedicalIntelligent, Wheelchair MEDIC. MEDIC LG Global Challenger 2003 - 1. 3 2. 4 2.1 4 (1) 4 (2) 5 2.2 6 (1) 6 (2) 6 (3) 7 3. 8 3.1 8 3.2 10 3.3 11 4. 12 4.1
More informationI
I II III (C B ) (C L ) (HL) Min c ij x ij f i y i i H j H i H s.t. y i 1, k K, i W k C B C L p (HL) x ij y i, i H, k K i, j W k x ij y i {0,1}, i, j H. K W k k H K i i f i i d ij i j r ij i j c ij r ij
More information<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 2 pp. 866-871, 2012 http://dx.doi.org/10.5762/kais.2012.13.2.866 증강현실을 이용한 아동교육프로그램 모델제안 권미란 1*, 김정일 2 1 나사렛대학교 아동학과, 2 한세대학교 e-비즈니스학과
More information1
1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2
More informationÀÛ¾÷
Program of the 15th Korea Conference on Software Engineering (KCSE 2013) Program of the 15th Korea Conference on Software Engineering (KCSE 2013) KCSE 2013 Program of the 15th Korea Conference on Software
More information°í¼®ÁÖ Ãâ·Â
Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of
More information<C7D1B1B9B1B3C0B0B0B3B9DFBFF85FC7D1B1B9B1B3C0B05F3430B1C733C8A35FC5EBC7D5BABB28C3D6C1BE292DC7A5C1F6C6F7C7D42E687770>
기혼 여성이 사이버대학에서 상담을 전공하면서 겪는 경험 방기연 (고려사이버대학교 상담심리학과 부교수) * 요 약 본 연구는 기혼 여성의 사이버대학 상담전공 학과 입학에서 졸업까지의 경험을 이해하는 것을 목적으로 한 다. 이를 위해 연구참여자 10명을 대상으로 심층면접을 하고, 합의적 질적 분석 방법으로 분석하였다. 입학 전 에 연구참여자들은 고등교육의 기회를
More informationInclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석
Inclusion Polymorphism 과 UML 클래스다이어그램구조에의거한디자인패턴해석 이랑혁, 이현우, 고석하 rang2guru@gmail.com, westminstor@naver.com, shkoh@cbnu.ac.kr 충북대학교경영정보학과 충북청주시흥덕구개신동 12 번지충북대학교학연산공동기술연구원 843 호 Tel:043-272-4034 55 Keyword
More informationÀ±½Â¿í Ãâ·Â
Representation, Encoding and Intermediate View Interpolation Methods for Multi-view Video Using Layered Depth Images The multi-view video is a collection of multiple videos, capturing the same scene at
More information(000-000)실험계획법-머리말 ok
iii Design Analysis Optimization Design Expert Minitab Minitab Design Expert iv 2008 1 v 1 1. 1 2 1. 2 4 1. 3 6 1. 4 8 1. 5 12 2 2. 1 16 2. 2 17 2. 3 20 2. 4 27 2. 5 30 2. 6 33 2. 7 37 2. 8 42 46 3 3.
More informationISO17025.PDF
ISO/IEC 17025 1999-12-15 1 2 3 4 41 42 43 44, 45 / 46 47 48 49 / 410 411 412 413 414 5 51 52 53 54 / 55 56 57 58 / 59 / 510 A( ) ISO/IEC 17025 ISO 9001:1994 ISO 9002:1994 B( ) 1 11 /, / 12 / 1, 2, 3/ (
More information#유한표지F
www.yuhan.ac.kr www.yuhan.ac.kr 대 학 요 람 2008 422-749 경기도 부천시 소사구 경인로 636(괴안동 185-34) Tel : 02)2610-0600 / 032)347-0600 유 한 대 학 대학요람 2008 2008 대학요람 설립자 유일한 박사의 숭고한 정신과 철학을 실천하는 대학 눈으로 남을 볼 줄 아는 사람은 훌륭한
More informationJournal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: An Exploratory Stud
Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp.423-441 DOI: http://dx.doi.org/10.21024/pnuedi.29.1.201903.423 An Exploratory Study on the Improvement of Democratic Consultative Culture
More information02 _ The 11th korea Test Conference The 11th korea Test Conference _ 03 03 04 06 08 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 34
The 11th Korea Test Conference June 29, 2010 TEL : (02) 313-3705 / FAX : (02) 363-8389 E-mail : info@koreatest.or.kr http://www.koreatest.or.kr 02 _ The 11th korea Test Conference The 11th korea Test Conference
More information45-51 ¹Ú¼ø¸¸
A Study on the Automation of Classification of Volume Reconstruction for CT Images S.M. Park 1, I.S. Hong 2, D.S. Kim 1, D.Y. Kim 1 1 Dept. of Biomedical Engineering, Yonsei University, 2 Dept. of Radiology,
More information<313920C0CCB1E2BFF82E687770>
韓 國 電 磁 波 學 會 論 文 誌 第 19 卷 第 8 號 2008 年 8 月 論 文 2008-19-8-19 K 대역 브릭형 능동 송수신 모듈의 설계 및 제작 A Design and Fabrication of the Brick Transmit/Receive Module for K Band 이 기 원 문 주 영 윤 상 원 Ki-Won Lee Ju-Young Moon
More information¾Ë±â½¬¿îÀ±¸®°æ¿µc03ÖÁ¾š
& 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 & 27 28 29 30 31 32 33 34 35 36 37 38 & 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 & 55 56 57 58 59 60 61 62 63
More information1 9 2 0 3 1 1912 1923 1922 1913 1913 192 4 0 00 40 0 00 300 3 0 00 191 20 58 1920 1922 29 1923 222 2 2 68 6 9
(1920~1945 ) 1 9 2 0 3 1 1912 1923 1922 1913 1913 192 4 0 00 40 0 00 300 3 0 00 191 20 58 1920 1922 29 1923 222 2 2 68 6 9 1918 4 1930 1933 1 932 70 8 0 1938 1923 3 1 3 1 1923 3 1920 1926 1930 3 70 71
More information<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A3504446BFEB2E687770>
북한의 주요 농업 관련 법령 해설 1) 이번 호와 다음 호에서는 북한의 주요 농업 관련 법령을 소개하려 한다. 북한의 협동농장은 농업협동조합기준규약초안 과 농장법 에 잘 규정되어 있다. 북한 사회주의 농업정책은 사회 주의농촌문제 테제 2), 농업법, 산림법 등을 통해 엿볼 수 있다. 국가계획과 농업부문의 관 계, 농산물의 공급에 관해서는 인민경제계획법, 사회주의상업법,
More informationuntitled
Memory leak Resource 力 金 3-tier 見 Out of Memory( 不 ) Memory leak( 漏 ) 狀 Application Server Crash 理 Server 狀 Crash 類 JVM 說 例 行說 說 Memory leak Resource Out of Memory Memory leak Out of Memory 不論 Java heap
More information09권오설_ok.hwp
(JBE Vol. 19, No. 5, September 2014) (Regular Paper) 19 5, 2014 9 (JBE Vol. 19, No. 5, September 2014) http://dx.doi.org/10.5909/jbe.2014.19.5.656 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) a) Reduction
More informationPowerPoint 프레젠테이션
@ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation
More information006- 5¿ùc03ÖÁ¾T300çÃâ
264 266 268 274 275 277 279 281 282 288 290 293 294 296 297 298 299 302 303 308 311 5 312 314 315 317 319 321 322 324 326 328 329 330 331 332 334 336 337 340 342 344 347 348 350 351 354 356 _ May 1 264
More information박선영무선충전-내지
2013 Wireless Charge and NFC Technology Trend and Market Analysis 05 13 19 29 35 45 55 63 67 06 07 08 09 10 11 14 15 16 17 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39 40
More informationthesis
( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype
More information03-서연옥.hwp
농업생명과학연구 49(4) pp.31-37 Journal of Agriculture & Life Science 49(4) pp.31-37 Print ISSN 1598-5504 Online ISSN 2383-8272 http://dx.doi.org/10.14397/jals.2015.49.4.31 국가산림자원조사 자료를 적용한 충남지역 사유림경영율 추정 서연옥
More informationDBPIA-NURIMEDIA
The e-business Studies Volume 17, Number 6, December, 30, 2016:21~34 Received: 2016/12/04, Accepted: 2016/12/27 Revised: 2016/12/19, Published: 2016/12/30 [ABSTRACT] With the development of the Internet,
More information인문사회과학기술융합학회
Vol.5, No.5, October (2015), pp.471-479 http://dx.doi.org/10.14257/ajmahs.2015.10.50 스마트온실을 위한 가상 외부기상측정시스템 개발 한새론 1), 이재수 2), 홍영기 3), 김국환 4), 김성기 5), 김상철 6) Development of Virtual Ambient Weather Measurement
More information09오충원(613~623)
A Study of GIS Service of Weather Information* Chung-Weon Oh**,..,., Web 2.0 GIS.,.,, Web 2.0 GIS, Abstract : Due to social and economic value of Weather Information such as urban flooding, demand of Weather
More information05(533-537) CPLV12-04.hwp
모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,
More information<4D6963726F736F667420576F7264202D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>
주간기술동향 2016. 5.18. 컴퓨터 비전과 인공지능 장혁 한국전자통신연구원 선임연구원 최근 많은 관심을 받고 있는 인공지능(Artificial Intelligence: AI)의 성과는 뇌의 작동 방식과 유사한 딥 러닝의 등장에 기인한 바가 크다. 이미 미국과 유럽 등 AI 선도국에서는 인공지능 연구에서 인간 뇌 이해의 중요성을 인식하고 관련 대형 프로젝트들을
More information(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 2010-0025282 부처명 교육과학기술부
(19) 대한민국특허청(KR) (12) 등록특허공보(B1) (45) 공고일자 2015년01월13일 (11) 등록번호 10-1480424 (24) 등록일자 2015년01월02일 (51) 국제특허분류(Int. Cl.) G06F 12/00 (2006.01) G11C 16/00 (2006.01) (21) 출원번호 10-2013-0023977 (22) 출원일자 2013년03월06일
More information07.045~051(D04_신상욱).fm
J. of Advanced Engineering and Technology Vol. 1, No. 1 (2008) pp. 45-51 f m s p» w Á xá zá Ÿ Á w m œw Image Retrieval Based on Gray Scale Histogram Refinement and Horizontal Edge Features Sang-Uk Shin,
More information6.24-9년 6월
리눅스 환경에서Solid-State Disk 성능 최적화를 위한 디스크 입출력요구 변환 계층 김태웅 류준길 박찬익 Taewoong Kim Junkil Ryu Chanik Park 포항공과대학교 컴퓨터공학과 {ehoto, lancer, cipark}@postech.ac.kr 요약 SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된
More informationGray level 변환 및 Arithmetic 연산을 사용한 영상 개선
Point Operation Histogram Modification 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 HISTOGRAM HISTOGRAM MODIFICATION DETERMINING THRESHOLD IN THRESHOLDING 2 HISTOGRAM A simple datum that gives the number of pixels that a
More information...... ....2-1
,,,, (), pp. ~., TV (PPL) -,,, (), pp. ~., TV PPL, :.,, (), pp. ~., PPL,,, (), pp. ~., ( - ) PPL,,, (), pp. ~., (PPL) : PPL,,, (), pp. ~.,..., TV PPL,,, (), pp. ~.,,,,,, (), pp. ~.,,,.,... LG,... Babin,
More information<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 4 pp. 1525-1531, 2012 http://dx.doi.org/10.5762/kais.2012.13.4.1525 저예산 독립영화의 구전 마케팅을 위한 스마트폰 모바일 애플리케이션 모델 개발 연구 김혜원 1* 1 청운대학교
More informationSomething that can be seen, touched or otherwise sensed
Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have
More informationuntitled
SAS Korea / Professional Service Division 2 3 Corporate Performance Management Definition ý... is a system that provides organizations with a method of measuring and aligning the organization strategy
More information<31325FB1E8B0E6BCBA2E687770>
88 / 한국전산유체공학회지 제15권, 제1호, pp.88-94, 2010. 3 관내 유동 해석을 위한 웹기반 자바 프로그램 개발 김 경 성, 1 박 종 천 *2 DEVELOPMENT OF WEB-BASED JAVA PROGRAM FOR NUMERICAL ANALYSIS OF PIPE FLOW K.S. Kim 1 and J.C. Park *2 In general,
More information03.Agile.key
CSE4006 Software Engineering Agile Development Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Background of Agile SW Development
More information09È«¼®¿µ5~152s
Korean Journal of Remote Sensing, Vol.23, No.2, 2007, pp.45~52 Measurement of Backscattering Coefficients of Rice Canopy Using a Ground Polarimetric Scatterometer System Suk-Young Hong*, Jin-Young Hong**,
More information*BA_01
PART 1 CHAPTER ONE. CHAPTER TWO. CHAPTER ONE,,,,,....,.,.,,,,,,..,,. 3 BEAUTIFUL ARCHITECTURE,.,..,.,.,,.,...,.. (Jim Waldo) (Waldo 2006)....,,,,,, 4 CHAPTER ONE.,. Venustas, Firmitas, Utilitas,,...,.,..,......
More informationuntitled
MDEP I&C 2009. 4.6 ~ 4.7 14 I. MDEP II. DICWG III. DICWG SW IV. Nuclear Safety Information Conference 2009 Slide -2- I. MDEP MDEP? Multinational Design Evaluation Program MDEP Nuclear Safety Information
More information3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp
보안공학연구논문지 Journal of Security Engineering Vol.11, No.4 (2014), pp.299-312 http://dx.doi.org/10.14257/jse.2014.08.03 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발 이강찬 1), 이승윤 2), 양희동 3), 박철우 4) Development of Service
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Jun.; 27(6), 495 503. http://dx.doi.org/10.5515/kjkiees.2016.27.6.495 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) Design
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Dec.; 27(12), 1036 1043. http://dx.doi.org/10.5515/kjkiees.2016.27.12.1036 ISSN 1226-3133 (Print) ISSN 2288-226X (Online)
More information<3136C1FD31C8A35FC3D6BCBAC8A3BFDC5F706466BAAFC8AFBFE4C3BB2E687770>
부동산학연구 제16집 제1호, 2010. 3, pp. 117~130 Journal of the Korea Real Estate Analysts Association Vol.16, No.1, 2010. 3, pp. 117~130 비선형 Mankiw-Weil 주택수요 모형 - 수도권 지역을 대상으로 - Non-Linear Mankiw-Weil Model on Housing
More informationKor. J. Aesthet. Cosmetol., 라이프스타일은 개인 생활에 있어 심리적 문화적 사회적 모든 측면의 생활방식과 차이 전체를 말한다. 이러한 라이프스 타일은 사람의 내재된 가치관이나 욕구, 행동 변화를 파악하여 소비행동과 심리를 추측할 수 있고, 개인의
RESEARCH ARTICLE Kor. J. Aesthet. Cosmetol., 한국 중년 여성의 라이프스타일이 메이크업 추구이미지와 화장품 구매행동에 미치는 영향 주영주 1 *, 이순희 2 1 서경대학교대학원미용예술학과, 2 신성대학교 미용예술계열 The Effects of The Life Style for Korean Middle Aged Women on
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 27, no. 8, Aug [3]. ±90,.,,,, 5,,., 0.01, 0.016, 99 %... 선형간섭
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Aug.; 27(8), 693700. http://dx.doi.org/10.5515/kjkiees.2016.27.8.693 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Design
More informationJournal of Educational Innovation Research 2018, Vol. 28, No. 2, pp DOI: IPA * Analysis of Perc
Journal of Educational Innovation Research 2018, Vol. 28, No. 2, pp.45-72 DOI: http://dx.doi.org/10.21024/pnuedi.28.2.201806.45 IPA * Analysis of Perception and Needs on Teaching Competencies of Faculty
More informationDBPIA-NURIMEDIA
The e-business Studies Volume 17, Number 6, December, 30, 2016:275~289 Received: 2016/12/02, Accepted: 2016/12/22 Revised: 2016/12/20, Published: 2016/12/30 [ABSTRACT] SNS is used in various fields. Although
More informationMicrosoft Word - 1-차우창.doc
Journal of the Ergonomics Society of Korea Vol. 28, No. 2 pp.1-8, May 2009 1 하이브리드 환경하의 인간기계시스템 제어실 평가에 관한 연구 차 우 창 김 남 철 금오공과대학교 산업시스템공학과 A Study of the Evaluation for the Control Room in Human Machine
More information정보기술응용학회 발표
, hsh@bhknuackr, trademark21@koreacom 1370, +82-53-950-5440 - 476 - :,, VOC,, CBML - Abstract -,, VOC VOC VOC - 477 - - 478 - Cost- Center [2] VOC VOC, ( ) VOC - 479 - IT [7] Knowledge / Information Management
More information<333820B1E8C8AFBFEB2D5A6967626565B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 1 pp. 306-310, 2012 http://dx.doi.org/10.5762/kais.2012.13.1.306 Zigbee를 이용한 실외 위치추정 시스템 구현 김환용 1*, 임순자 1 1 원광대학교 전자공학과 Implementation
More information분석결과 Special Edition 녹색건물의 가치산정 및 탄소배출 평가 이슈 서 민간분야의 적극적인 참여 방안의 마련이 필요하다. 또한 우리나라는 녹색건축의 경제성에 대한 검증에 대 한 연구가 미흡한 실정이다. 반면, 미국, 영국, 호주 등은 민간 주도로 녹색건축물
기획특집Ⅱ 1 지속가능성 평가기반 에너지효율등급인증 건축물 가치산정에 관한 연구 지속가능성 평가기반 에너지효율등급인증 건축물 가치산정에 관한 연구 * 유 영 준 부연구위원 한국감정원 녹색건축센터 녹색건축연구단 신 성 은 연구원 한국감정원 녹색건축센터 녹색건축연구단 박 아 름 연구원 한국감정원 녹색건축센터 녹색건축연구단 윤 종 돈 부장 한국감정원 녹색건축센터
More information¨ë Áö¸®ÇÐȸÁö-¼Û°æ¾ðOK
Industrial and Innovation Networks of the Long-live Area of Honam Region* Sam Ock Park**Kyung Un Song***Eun Jin Jeong**** AbstractThe purpose of this paper is to analyze industrial and innovation networks
More information...... ....1
(),, -,,.,,,,, (),,. (),,., (),,, (), -. (),,Korean Culture & Art Journal,, -.,, (),,, (), -.,,, (), :,. (),.,, (),,.,,, (),,. (),,. (),, CEO Information,,. ()(),, () (). F. (),,,. (),. (), :. (),. AFCH
More informationJournal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: A Study on the Opti
Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp.127-148 DOI: http://dx.doi.org/11024/pnuedi.27.4.201712.127 A Study on the Optimization of Appropriate Hearing-impaired Curriculum Purpose:
More informationDBPIA-NURIMEDIA
한국소음진동공학회 2015추계학술대회논문집년 Study of Noise Pattern and Psycho-acoustics Characteristic of Household Refrigerator * * ** ** Kyung-Soo Kong, Dae-Sik Shin, Weui-Bong Jeong, Tae-Hoon Kim and Se-Jin Ahn Key Words
More informationLayout 1
2015 June vol.1 no.3 Convergence Research Review Convergence Research Review 2015 June vol.1 no.3 03 04 30 34 64 tel. 02-958-4984 http://crpc.kist.re.kr tel. 051-202-9201 Energy Harvesting 34 01 Convergence
More information(5차 편집).hwp
(215), 54(1), 17-3 211 STEAM,.. STEAM, STEAM, 5~6 11.,., 5~6...,. (, 21)., 29. (,, 212). 211 STEAM * :, E-mail: njkwon@hanmail.net http://dx.doi.org/1.15812/ter.54.1.2153.17 (215), 54(1), 17-3,. (Arts)
More informationFMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2
FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one
More informationDBPIA-NURIMEDIA
무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 901 무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 (A Effective Sinkhole Attack Detection Mechanism for LQI based Routing in WSN) 최병구 조응준 (Byung
More information13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3
13 Lightweight BPM Engine SW 13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3 BPM? 13 13 Vendor BPM?? EA??? http://en.wikipedia.org/wiki/business_process_management,
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Nov.; 26(11), 985991. http://dx.doi.org/10.5515/kjkiees.2015.26.11.985 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis
More information2009년도 한국멀티미디어학회 춘계학술발표대회 논문집 12권1호 1. 서론 게임을 개발하는 과정에서 게임 엔진은 자동차의 엔진과 같은 역할이다. 자동차의 가치를 평가하는 요소 중에 어떤 엔진을 적용 했는가는 자동차를 평가하는데 중요하다. 게임도 게임 개발 기술 중 엔진
멀티스레드 기술을 적용한 가상 3D 게임 엔진에서의 병렬 처리 기법 김문순, 노성남, 박제훈, 박건수, 김은주, 김선정, 송창근 한림대학교 컴퓨터공학과 e-mail : {sunfire99,customizer,irubeta01,20045163,ejkim628,sunkim,cgsong}@hallym.ac.kr Parallel Processing Technique
More information149-172b77¹¼úÁ¤º¸š
162 July 2005 C U L T U R E & A R T KOREAN CULTURE & ARTS JOURNAL 163 164 July 2005 C U L T U R E & A R T KOREAN CULTURE & ARTS JOURNAL 165 166 July 2005 C U L T U R E & A R T KOREAN CULTURE & ARTS JOURNAL
More information1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp
Journal of Next-generation Convergence Information Services Technology Vol.4, No.1, June (2015), pp. 1-8 차세대컨버전스정보서비스기술논문지 KT 올레스퀘어 미디어파사드 콘텐츠 개발 Media Fasade Contents Development of KT Olleh Square 김동조
More informationJournal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: A study on Characte
Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp.381-404 DOI: http://dx.doi.org/10.21024/pnuedi.28.1.201803.381 A study on Characteristics of Action Learning by Analyzing Learners Experiences
More information1 ) 2000 39 131 2 ) 2001 10 % ( ),,,, 1),,,, 2) 3) 4),,,, 200193 0 36, 117 117 L i k e r t5 ( 1 =, 3=, 5= ), 1) 28, 1 3 ( ) 2),, (, 2000: 25-26)
,,, (, 2001: 11-37),,, 4-5 213 19995 1-3 1 ) 2000 39 131 2 ) 2001 10 % ( ),,,, 1),,,, 2) 3) 4),,,, 200193 0 36, 117 117 L i k e r t5 ( 1 =, 3=, 5= ), 1) 28, 1 3 ( ) 2),, (, 2000: 25-26) 1999,,,, 3 ) (
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationµðÇÃÇ¥Áö±¤°í´Ü¸é
Review 2 2013 JAN.FEB. vol. 23 Display Focus 3 Review 4 2013 JAN.FEB. vol. 23 Display Focus 5 Review 6 2013 JAN.FEB. vol. 23 Display Focus 7 Review 8 2013 JAN.FEB. vol. 23 Display Focus 9 Preview 2013.1
More information보고서(겉표지).PDF
11-13 10148-000092- 01 200 1 04 ( ) 2 0 0 1 ( ) E fficient Rules for Oper atin g the Det en tion B asin an d P umpin g St ation ( ) 2 0 0 1. 12 1 2 11-1310148- 000092-01 ( ) E fficien t Ru les for Oper
More informationDBPIA-NURIMEDIA
논문 10-35-08-15 한국통신학회논문지 '10-08 Vol.35 No. 8 건설생산성 향상을 위한 건설현장 내 RFID 네트워크 시스템 적용 방안 준회원 김 신 구*, 정회원 이 충 희*, 이 성 형*, 종신회원 김 재 현* Method of RFID Network System Application for Improving of Construction
More informationAPOGEE Insight_KR_Base_3P11
Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows
More informationJournal of Educational Innovation Research 2019, Vol. 29, No. 2, pp DOI: 3 * Effects of 9th
Journal of Educational Innovation Research 2019, Vol. 29, No. 2, pp.357-378 DOI: http://dx.doi.org/10.21024/pnuedi.29.2.201906.357 3 * Effects of 9th Grade Students Participation in Career Curriculum Cluster
More information