본문 바로가기
KERD
논문KCI 등재

소프트웨어 유지 관리를 위한 Git 커밋 메시지 복합 분류 모델 구현

Implementation of Git's Commit Message Complex Classification Model for Software Maintenance

0

조회

0

다운로드

1

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

Git의 커밋 메시지는 프로젝트 생명주기와 밀접한 연관성을 지니고 있으며, 이러한 특성에 의해 프로젝트운영 활동의 위험요소와 프로젝트 현황 등을 파악하여 비용 절감과 작업효율 개선 등에 큰 기여를 할수 있다. 이와 관련한 분야 중 커밋 메시지를 소프트웨어 유지관리의 유형으로 분류하는 많은 연구가있으며 연구 중 최대 정확도는 87%다. 본 논문에서는 커밋 분류 모델을 이용한 솔루션 등의 활용을 목적으로진행 하였고 기존에 발표된 모델들보다 정확도를 높여 모델의 신뢰성을 높이기 위해 여러 모델을 조합한복합 분류 모델을 설계하고 구현하였다. 본문은 자동화 레이블링 및 소스 변경 내용을 추출하여 데이터셋을구성하고 디스틸 버트(DistilBERT) 모델을 이용하여 학습시켰다. 검증결과 기존 연구에서 보고된 최대87%보다 8%가 향상된 95%의 F1 점수 값을 얻어 신뢰성을 확보하였다. 본 연구 결과를 이용하면 모델의신뢰성을 높이고 이를 이용해 소프트웨어 및 프로젝트관리 등의 솔루션에 적용이 가능할 것으로 기대된다.

Abstract

Git's commit message is closely related to the project life cycle, and by this characteristic, it can greatly contribute to cost reduction and improvement of work efficiency by identifying risk factors and project status of project operation activities. Among these related fields, there are many studies that classify commit messages as types of software maintenance, and the maximum accuracy among the studies is 87%. In this paper, the purpose of using a solution using the commit classification model is to design and implement a complex classification model that combines several models to increase the accuracy of the previously published models and increase the reliability of the model. In this paper, a dataset was constructed by extracting automated labeling and source changes and trained using the DistillBERT model. As a result of verification, reliability was secured by obtaining an F1 score of 95%, which is 8% higher than the maximum of 87% reported in previous studies. Using the results of this study, it is expected that the reliability of the model will be increased and it will be possible to apply it to solutions such as software and project management.

참고문헌 (16)

  1. Mockus Votta, "Identifying reasons for software changes using historic databases", Proceedings 2000 International Conference on Software Maintenance, pp.120~130 (2000)
  2. S. Gharbi, "On the Classification of Software Change Messages Using Multi-Label Active Learning", Proceedings of the 34th ACM, 2019, 1760~1767
  3. S. Levin, "Boosting Automatic Commit Classification Into Maintenance Activities By Utilizing Source Code Changes", PROMISE: Proceedings of the 13th International Conference on Predictive Models and Data Analytics in Software Engineering, pp.97~106 (2017)
  4. A. Adhikari, "DocBERT: BERT for Document Classification", ~ (2019)
  5. M. U. Sarwar, "Multi-label Classification of Commit Messages using Transfer Learning", 2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pp.37~42 (2020)
  6. H. C. Gall, "hange analysis with evolizer and changedistiller", IEEE Software, 26(1), pp.26~ (2009)[DOI]
  7. B. Fluri, "Discovering patterns of change types", Automated Software Engineering, 2008. ASE 2008. 23rd IEEE, 2008, 463~466[DOI]
  8. M. Martinez, "Automatically extracting instances of code change patterns with ast analysis", ~ (2013)
  9. B. Fluri, "Change distilling: Tree differencing for fine-grained source code change extraction", Software Engineering, IEEE Transactions, 33(11), pp.725~743 (2007)[DOI]
  10. V. Sanh, "Distilbert, a distilled version of bert: smaller, faster, cheaper and lighter", ~ (2019)
  11. Devlin, Jacob, "BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding", Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 1, pp.4171~4186 (2019)
  12. Sun, Chi, "How to Fine-Tune BERT for Text Classification?", Lecture Notes in Computer Science, pp.194~206 (2019)[DOI]
  13. A. Mauczka, "Dataset of developer-labeled commit messages", 2015 IEEE, 2015, 490~493[DOI]
  14. S. Zafar, "Towards standardizing and improving classification of bug-fix commits", 2019ACM, 2019, 1~6[DOI]
  15. Hultstrand, S, "Git-CLI or GUI: Which is most widely used and why?", ~ (2015)
  16. Miller, C. G, "Introduction to Git", ~ (2022)

관련 논문AI추천

이 간행물의 다른 논문 (34건)