Browse

소프트웨어의 파일 변경 확률 예측을 통한 충돌 가능성이 있는 파일의 식별
Identifying Potentially Conflicting Files by Predicting Change Probability using Software Change Log Data

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
이주용
Advisor
홍유석
Issue Date
2020
Publisher
서울대학교 대학원
Description
학위논문(석사)--서울대학교 대학원 :공과대학 산업공학과,2020. 2. 홍유석.
Abstract
소프트웨어 개발 기법 중 객체 지향적 프로그래밍 기법은 객체의 재사용과 병렬적 개발 작업을 가능하게 하기 때문에 가장 널리 사용되는 개발 기법이다. 이러한 개발 기법을 사용하기 때문에 여러 개발자가 동시에 병렬적으로 개발을 진행하며 전체 프로젝트의 기간을 단축할 수 있다. 하지만 서로 다른 개발자 사이에서 충분한 논의가 이루어지지 않은 채 개발을 진행하다가 각자에 의해 변경된 파일이 중복된 경우, 변경 내용을 병합할 때 서로 충돌을 발생시킬 위험이 있다. 이러한 병합 충돌은 불필요한 재작업을 야기하여 개발 과정에서의 비효율을 발생시킨다. 이 때, 개발자 별로 반영하고 있는 변경 요구사항으로 인해 수정될 파일들을 미리 알 수 있다면 예상치 못한 충돌을 막아 불필요한 재작업을 줄일 수 있다.
변경 요구사항으로 인해 수정될 파일을 예측하기 위해서는 소프트웨어의 기능적 측면의 구조를 파악해야 한다. 변경 요구사항을 반영하기 위해서는 프로그램의 특정 기능에 대한 변경이 필요하고, 이는 해당 기능을 구현하는 파일을 수정함으로써 이루어진다. 또한, 기능의 변경과 파일의 변경은 종속 관계를 가지는 다른 기능 혹은 파일로 변경이 전파된다.
이에 대한 분석을 위해 본 연구에서는 소프트웨어 변경 이력 데이터를 활용하여 변경 요구사항에 따른 각 파일의 변경 가능성을 예측하는 방법론을 두 가지 분석으로 나눠 제안한다. 첫 번째 분석은 변경 요구사항의 내용이 적힌 문서를 텍스트 마이닝 기법을 통해 분석하여 해당 요구사항에 의해 변경될 하위 기능과 변경이 일어나게 된 이유를 도출해내는 분석이다. 두 번째 분석은 하위 기능 내 구성 요소와 파일 내 매개변수 사이의 종속성 관계를 파악해 종속성 네트워크를 구축함으로써 파일 별 변경 확률을 도출해내는 분석이다. 본 연구에서 제시한 방법론을 실제 소프트웨어 개발 프로젝트 사례에 적용하여 예측 성능을 검증하였다. 또, 제안된 방법론을 프로젝트 관리에 활용하는 방안을 제시하고 그 의미를 분석하였다.
Object-oriented software development method is the most popular development method because it provides reusability of object and makes development process parallel. Because of this method, the duration of the software development project can be reduced by the developers process their job in parallel and concurrently. But if there are lack of information among developers about what they are developing, the merge conflict can be occurred in the changed files. It causes unnecessary rework and inefficiency in development process. In order to prevent merge conflict, identifying potentially changing files from the certain change request is needed.
Functional structure of software must be analyzed to predict changing files by change request. To apply the change request, the change of certain function of program is needed, and it causes the modification of files implementing the function. Also, the changes of function and file are propagated to directly dependent function and file.
In this study, a methodology of predicting file change probability from change request is proposed with two divided analysis. The first analysis is classifying the change request under subfunction and reason by analyzing the semantic context of request document. The second analysis is predicting file change probability by constructing dependency network between element of subfunction and parameter of file. The performance of the proposed methodology is verified by the case study of software development project. Additionally, the application plan of the proposed methodology and the managerial implication is analyzed.
Language
kor
URI
http://dcollection.snu.ac.kr/common/orgView/000000159147
Files in This Item:
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Industrial Engineering (산업공학과)Theses (Master's Degree_산업공학과)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse