소프트웨어 시스템은 지속적으로 진화하고 크기와 복잡성이 커지면서 시스템의 안정성과 기능을 유지하기 위하여 소프트웨어의 변경을 예측하는 문제의 중요성이 대두되고 있다. 기존 문헌에서는 소프트웨어 협업 도구에 변경 로그 데이터를 활용하여 동시 변경 패턴을 추출하는 방법론이 강조되었다. 그러나 이러한 방법은 정확성이 떨어지고, 대규모 시스템에 적용이 어렵다는 한계가 존재한다. 이 논문에서는 이러한 연구 격차를 다루는 세 가지 서로 다른 상호 연관된 연구를 소개한다.
첫 번째 연구는 File-level Change Propagation to Vector (FCP2Vec)라는 새로운 파일 수준 변경 전파 예측 방법론이다. FCP2Vec은 자연어 처리에서 활발히 사용되는 Word2Vec을 이용하여, 현재 변경된 파일을 기반으로 변경 내용이 전파될 수 있는 파일이 무엇인지 추천한다. 해당 방법론의 검증을 위해 3 개의 공개 소프트웨어의 히스토리 변경 로그를 학습하였으며 (Vuze, Spring Framework, Elasticsearch) 해당 방법론이 변경 전파를 효과적으로 예측하고 이전 조사와 비교하여 패키지 레벨에서 정확도가 21% 향상되었음을 입증했다. 두 번째 방법은 딥러닝 기반의 Transformer 아키텍처를 사용한 소프트웨어 변경 추천 기법으로 FCP2BERT 로 명명되었다. 기존 방법과 달리 FCP2BERT 는 개발자가 다수의 파일과 상호 종속성을 처리할 때 발생하는 확장성 문제를 해결할 수 있다. 또한 파일 수준 추상화를 기반으로 보다 세분화된 추천을 제공한다. 해당 방법론은 파일 수준의 정확도를 60% 향상시켜 FCP2BERT 의 효과를 입증했습니다. 마지막 연구는 동적 그래프 신경망을 사용한 소프트웨어 변경 추천 방법론인 FCP2DGNN 이다. FCP2DGNN 은 그래프 기반 문제로 접근법을 모델링하여 시스템 구성 요소 간의 진화 관계를 파악하고 향후 변경 전파를 효과적으로 예측합니다. 이전 연구와 비교하여 이 접근 방식은 파일 수준에서 63% 정확도 향상을 보여준다.
전반적으로, 해당 연구는 소프트웨어 변경 전파에 대한 이해와 예측을 통해 소프트웨어 변경의 관리 및 소프트웨어 품질을 향상시키기 위한 도구를 제공한다. 저자의 발견은 보다 효율적인 소프트웨어의 유지보수 방법을 제공함으로써 보다 효과적인 소프트웨어 관리 방안을 제공할 것으로 예상된다.