Evolutionary knowledge management and support for solving problems in software reuse in open source software오픈 소스 소프트웨어 환경에서 자산 재사용 시의 문제 해결을 위한 진화적 지식 관리 및 지원 방법

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 700
  • Download : 0
소프트웨어 재사용은 새로운 소프트웨어 개발 시 처음부터 개발하는 것이 아니라 기존에 개발되어 있는 소프트웨어 자산들을 이용하여 개발함으로써 생산성, 품질, 유지보수성 및 신뢰성을 높이고 개발비용, 시간 및 복잡성을 줄이고자 하는 개념이다. 재사용 자산의 범위는 크게 보이는 자산과 보이지 않는 자산으로 나눌 수 있는데 보이는 자산은 소프트웨어를 개발함에 있어서 생산되는 산출물들과 소스코드, 컴포넌트 등을 말하며 보이지 않는 자산은 문서화되어 있지 않은 기술, 지식 및 경험 등을 말한다. 현재 소프트웨어의 복잡성이 증가함에 따라 보이지 않는 자산의 재사용이 매우 중요시 되고 있는 추세이다. 특히 소프트웨어 개발 시 지식의 중요성은 오랫동안 논의되어 왔고 현재 소프트웨어의 복잡성으로 인해 그 중요성이 더 강조되고 있다. 최근에 오픈 소스 소프트웨어 환경이 중요한 소프트웨어 재사용 환경이 되어 가고 있고 다양한 개발 도메인의 개발자들에 의해 활용되고 있다. 그러나 개발자들이 자신이 활용 가능한 유용한 자산을 찾았다 하더라도 재사용 시 예상치 못한 어려움을 겪을 수 있고 이러한 문제에 직면했을 때 포럼 등의 게시판을 통해 다른 개발자의 도움을 얻고자 한다. 포럼 등 게시판 형태의 개발자 토의는 주로 자연어로 작성 되고 어느 정보가 자신에게 유용한지 알아내기가 어렵다. 본 연구에서는 오픈 소스 소프트웨어에서 개발자들이 어떠한 형태로 논의를 진행하는지 알아보기 위해 소스포지의 개발자 포럼 데이터를 이용하여 그 패턴을 분석하여 보았다. 문제에 직면한 개발자들은 그 문제의 증상을 포럼에 올리고 유사한 증상 및 다른 증상을 경험한 타 개발자들이 논의에 참여한다. 어느 정도 시간이 흐른 뒤 증상을 나타내는 문제의 원인들이 활발히 논의되고 최종적으로 해결책이 게시되기 시작한다. 본 연구에서 이러한 패턴을 개발자 인터렉션 패턴이라 정의하였다. 이러한 증상, 원인, 해결책을 바탕으로 온톨로지 기반의 재사용 문제 해결 지식 모델을 구축하고 지식 구축을 위한 프레임워크를 개발하였다. 구축된 지식을 바탕으로 데이터 마이닝 기법을 활용해 주로 발생하는 증상과 원인의 타입들과 그 세부타입들을 정의하였고 증상과 원인 간의 상관관계를 분석하였다. 분석된 상관관계의 통계적 유의성 검정을 위해 선형 모델 분석을 수행하였고 통계적으로 유의한 상관관계를 갖는 증상과 원인을 지식 베이스에 유지하도록 하였다. 지식 베이스에서 증상을 기반으로 효율적으로 그 원인을 추천해 주기 위하여 확률적 모델인 베이지언 네트워크를 활용하였다. 베이지언 네트워크는 증상 및 원인 온톨로지를 기반으로 자동으로 생성되고 확률 값들 또한 각 노드에 자동적으로 할당된다. 소스포지의 포럼 데이터를 활용한 실험을 해 본 결과 베이지언 네트워크를 활용한 재사용 문제의 원인 추천 정확도는 상관관계만 활용하였을 때 보다 약 10% 증가함을 확인하였다. 그리고 재사용 문제를 위해 소비되는 시간을 측정해 본 결과 본 프레임워크를 활용했을 때 활용하지 않았을 경우보다 약 30% 감소 할 수 있음을 확인하였다. 본 연구를 통해 오픈 소스 소프트웨어 환경에서 자산 재사용 시 발생하는 문제들을 해결하기 위한 정형적 지식의 구조를 식별 및 정의하였고 문제 해결 지식의 구축을 위한 프레임워크를 개발하였다. 온톨로지와 베이지언 네트워크를 활용한 반 자동적 지식 획득, 추천 및 진화 방법을 개발하였고 개발된 프레임워크 및 방법들을 실제 개발자들이 주고 받는 포럼 데이터를 통해 실질적인 실험을 하였다. 제안된 프레임워크를 활용하면 자산 재사용시 발생할 수 있는 문제 해결을 위한 시간을 단축 시킬 수 있음을 확인하였고 개발된 프레임워크 및 방법들은 도구들로 제공되어 지식 관리를 위한 개발자들의 추가적인 오버헤드를 줄일 수 있을 것으로 예상한다.
Advisors
Ko, In Youngresearcher고인영researcher
Description
한국과학기술원 :전산학과,
Publisher
한국과학기술원
Issue Date
2015
Identifier
325007
Language
eng
Description

학위논문(박사) - 한국과학기술원 : 전산학과, 2015.2 ,[vii, 87 p :]

Keywords

Software Reuse; Open Source Software; Problem Solving Patterns in Software Reuse; 소프트웨어 재사용; 오픈 소스 소프트웨어; 소프트웨어 재사용 문제 해결

URI
http://hdl.handle.net/10203/206718
Link
http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=615701&flag=dissertation
Appears in Collection
CS-Theses_Ph.D.(박사논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0