디지털 라이브러리[ 검색결과 ]
교차 버전 결함 예측용 적대적 학습 기반 딥 도메인 적응 기법 분석
http://doi.org/10.5626/JOK.2023.50.6.460
소프트웨어 결함 예측은 효과적인 테스팅 자원 할당에 유용한 기법이다. 소프트웨어 교차 버전 결함 예측은 소프트웨어가 연속적인 버전으로 개발되는 환경을 반영하며, 소프트웨어 모듈은 버전 업데이트 과정을 거치며 추가되거나 삭제된다. 이러한 과정의 반복은 버전 간의 데이터 분포 차이를 발생시키는 원인이 되며, 데이터 분포 차이는 예측 성능을 저하시킨다. 딥 도메인 적응 기법은 컴퓨터 비전 분야에서 소스와 타겟 데이터의 분포 차이를 줄이는데 사용되는 기법이다. 본 연구의 목표는 다양한 적대적 학습 기반의 딥 도메인 적응 기법을 활용해 버전 간의 데이터 분포 차이를 줄이고, 결함 예측 성능이 가장 우수한 기법을 식별하는 것이다. 우리는 딥 도메인 적응 기법인 Domain-Adversarial Neural Network(DANN)와 Adversarial Discriminator Domain Apaptation(ADDA), Wasserstein Distance Guided Representation Learning(WDGRL)의 성능을 비교 실험하며, 소스 데이터의 구성에 따른 성능 차이를 확인한다. 또한 학습 과정에 사용되는 타겟 데이터의 비율에 따른 성능 차이와 세 가지 딥 도메인 적응 기법 중 결함 예측성능이 가장 우수한 DANN 모델의 하이퍼파라미터 설정에 따른 성능 차이를 확인한다. 실험 결과, DANN 모델은 타겟 버전을 제외한 이전 버전의 모든 데이터를 소스로 사용할 때 성능이 가장 우수하다. 특히 DANN 모델의 은닉층 수를 3개로 설정할 때 가장 우수한 성능을 보였다. 또한 딥 도메인 적응 기법을 적용할 때, 학습 과정에 사용되는 타겟 데이터가 많을수록 우수한 성능을 보인다. 본 연구를 통해 향후 다양한 딥 도메인 적응 기법이 소프트웨어 교차 버전 결함 예측에 활용될 수 있을 것으로 기대한다.
소프트웨어 결함 예측에 적합한 생성적 적대 신경망 모델 식별 연구
http://doi.org/10.5626/JOK.2022.49.1.52
소프트웨어 결함 예측은 결함이 야기될 모듈을 식별해 한정된 품질 보증 자원을 효과적으로 배분하는데 도움을 준다. 소프트웨어 결함 데이터는 비결함 인스턴스의 수가 결함 인스턴스의 수보다 많은 클래스 불균형 문제를 겪는다. 대부분의 기계 학습에서 특정 클래스의 인스턴스 비율이 한쪽으로 치우치게 되면 결함 예측 성능에 부정적인 영향을 끼친다. 따라서 본 연구에서는 생성적 적대 신경망 모델(Generative Adversarial Network, GAN)을 사용해 클래스 불균형 문제를 해결하고, 결함 예측 성능 향상을 목표로 한다. 이를 위해, 본 연구에서는 여러 종류의 GAN 모델 중 소프트웨어 결함 예측에 적합한 모델은 무엇인지 비교하고, 관련 연구에서 적용하지 않았던 GAN 모델들의 적용성 여부를 확인한다. 본 연구에서는 이미지 생성에 최적화되어 있는 Vanilla-GAN(GAN)과 Conditional GAN(cGAN), Wasserstein GAN(WGAN) 모델을 소프트웨어 결함 예측 데이터에 적합하게 개조한 후, 개조한 GAN과 cGAN, WGAN, Tabular GAN(TGAN), Modeling Tabular data using Conditional GAN(CTGAN)의 성능을 비교 실험한다. 실험 결과, CTGAN 모델이 소프트웨어 결함 예측 데이터에 적합함을 보인다. 또한 CTGAN의 하이퍼파라미터 중 결함 발견율(Recall)을 높이고, 결함 오보율(Probability of False Alarm, PF)를 낮추는 하이퍼파라미터 값은 무엇인지 민감도 분석을 수행한다. 실험 결과, 데이터셋에 따라 하이퍼파라미터를 조정해야 함을 보였다. 우리의 제안한 기법이 소프트웨어 결함 예측의 성능을 향상시켜 한정된 자원을 효과적으로 할당하는데 도움이 될 것이라고 기대한다.