서지주요정보
GUI-based software module clustering through dynamic analysis = 동적 분석을 통한 GUI 기반 소프트웨어 모듈 클러스터링 연구
서명 / 저자 GUI-based software module clustering through dynamic analysis = 동적 분석을 통한 GUI 기반 소프트웨어 모듈 클러스터링 연구 / Jimin Hwa.
저자명 Hwa, Jimin ; 화지민 化智民
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8031112

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 17004

휴대폰 전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Software module clustering has been studied to suggest a reference clusters of a complex software system by clustering “cohesive” modules in terms of functionality to facilitate the comprehension and main- tenance of the system. Although various sources of information (e.g., source code) have been used to analyze the cohesiveness in module clustering, there remain several promising sources that have not been studied. A graphical user interface (GUI) is expected to be one such sources since it often contains information of the functionalities of a software system; such information can be useful to find cohesive modules if it is possible to build the links between the GUI and modules. In particular, we utilize the functional information presented on the structure of the displayed GUI and profile the links between the structure and modules by means of dynamic analysis. We demonstrate the feasibility of automated GUI-based module clustering and its merits while applying it to two open-source software systems, one of which is a small- and another is large-scale system. For the small-scale system, we demonstrate its merits in guiding software comprehension based on the manual module clustering by three experts in software engineering. For the large-scale system, we demonstrate it based on the preexisting clusters created by the developers of the system, especially when it compares to other existing approaches. We also derive two extensions of this study and introduce their preliminary studies. In the first study, called GUI-based labeling, we adapt our module clustering approach to introduce an approach providing clues from a GUI for comprehending preexisting module clusters. In the second study, we focus on an significant issue that we found in this study, called single-factor problem; we generalize the issue to the whole module clustering and introduce a study, called multi-factor module clustering, to cope with the issue.

소프트웨어 모듈 클러스터링은 소프트웨어 유지보수와 소프트웨어의 이해를 돕기위해 복잡한 시스템을 기능적 관점에서 “응집”된 모듈들을 클러스터링하여 참조 클러스터를 제시하는 연구 분야이다. 모듈 클 러스터링에서는 소스코드 등 다양한 정보의 소스를 이용하여 모듈의 응집도를 분석하여 사용하는 연구가 진행되었으나, 여전히 연구가 되지 않은 다양한 정보 소스가 존재한다. 소프트웨어의 GUI (Graphical User Interface) 역시 그러한 소스 중 하나로 예상된다. 이는 GUI가 소프트웨어의 기능 정보를 포함하고 있기 때문이며 ?약 GUI와 모듈 간의 연결 관계를 파악할 수 있다면 해당 정보가 모듈의 응집도를 파악하는데 유용한 정보가 될 수 있기 때문이다. 특히 본 연구에서는 화면상 표현된 GUI의 구조적 정보를 추출하여 해당 구조에 표현된 기능 정보를 사용하며, 해당 구조와 모듈 간의 연결 관계를 파악하기 위한 동적 분석을 통한 프로파일링을 사용한다. 실험을 통해 오픈소스 소프트웨어 시스템에 적용함으로써 GUI 기반 모듈 클 러스터링의 가능성과 이점을 파악한다. 기법은 소규모 시스템 1개와 대규모 시스템 1개에 적용되며, 소규모 시스템에 대한 기법의 모듈 클러스터링을 3명의 소프트웨어 엔지니어링 전문가에 의해 메뉴얼하게 생성된 모듈 클러스터링과 비교 분석 함으로써 그들의 시스템 이해와 모듈 클러스터링의 가이드로서의 기법의 유 용성을 분석한다. 대규모 시스템에서는 GUI 기반의 본 기법이 해당 시스템의 개발자들에 의해 유지되어온 모듈 클러스터를 벤치마크로 사용하여 얼마나 근접한 결과를 생성하는지를 3개의 기존 기법들과 비교하여 분석한다. 본 연구 과정에서 우리는 2개의 파생 연구를 발견하였으며 이에 대한 기초적 연구를 소개한다. 첫번째 연구는 본 연구의 GUI 기반 모듈 클러스터링 기법을 차용한 GUI 기반의 레이블링 연구로, 기존에 존재하는 모듈 클러스터들을 이해하기 위해 GUI 정보를 이용하여 각 클러스터에 대한 이해의 단서, 즉 레이 블을제공하는연구이다. 두번째 기초연구에서는 본 연구과정에서 발견한 주요 이슈 중 하나인 단일인자 문제에 포커스를 맞춰 연구를 진행하였다. 해당 이슈를 본 연구 뿐만 아니라 모듈 클러스터링 전체의 이슈로 일반화시키고 이러한 이슈에 대응하기 위한 다인자 모듈 클러스터링 연구를 소개한다.

서지기타정보

서지기타정보
청구기호 {DCS 17004
형태사항 v, 65p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 화지민
지도교수의 영문표기 : Doo-Hwan Bae
지도교수의 한글표기 : 배두환
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 62-65
주제 Software module clustering
remodularization
graphical user interface
dynamic analysis
cluster labeling
multi-factor module clustering
소프트웨어 모듈 클러스터링
재모듈화
GUI
동적 분석
클러스터 레이블링
다인자 모듈 클러스터링
QR CODE qr code