검색 : [ keyword: software defect ] (8)

Gated Tab Transformer를 사용한 향상된 소프트웨어 결함 예측

마니칸단 사란야, 류덕산

http://doi.org/10.5626/JOK.2025.52.3.196

소프트웨어 결함 예측(SDP)은 소프트웨어 품질과 신뢰성을 확보하는 데 중요한 역할을 한다. 전통적인 기계 학습 및 딥 러닝 모델이 SDP에 널리 사용되었지만, 최근 자연어 처리 기술의 발전은 소프트웨어 공학 작업에 트랜스포머 기반 모델을 적용할 수 있는 가능성을 열었다. 본 논문에서는 Gated Tab Transformer(GTT)를 SDP에 적용하여 그 효과를 평가하였다. 15개의 소프트웨어 결함 데이터셋을 사용하여 실험을 진행하고, 최신 기계 학습 및 딥 러닝 모델과 비교한다. 실험 결과, GTT는 리콜, 균형, AUC 측면에서 각각 42.1%, 10.93%, 7.1%의 최첨단 머신 러닝 성능을 능가하는 것으로 나타났다. Cohen’s d 분석 결과, GTT는 이러한 성능 지표에서 큰 효과 크기 또는 중간 수준의 효과 크기를 나타냈다. 추가로, 하이퍼파라미터 변동이 성능에 미치는 영향을 분석한 소거 연구를 통해 GTT의 성능을 평가하였다. GTT의 뛰어난 성능은 SDP 문제 해결에 기여할 수 있으며, 이를 통해 테스트 자원의 효율적인 할당과 소프트웨어 품질 개선이 가능할 것으로 기대된다.

Ansible 프로젝트를 위한 교차 프로젝트 결함 예측

이선구, 권순재, 류덕산, 백종문

http://doi.org/10.5626/JOK.2024.51.3.229

코드형 인프라 (Infrastructure-as-Code, IaC)는 인프라의 생성, 배포 등과 같은 전체적인 관리를 코드를 통해 자동화하는 활동을 가리킨다. IaC는 그 효율성 덕분에 많은 기업들에서 사용되고 있고, 이에 IaC 도구 중 하나인 Ansible에서의 내부 결함 예측 기법이 많이 제안되었다. 최근, Ansible의 교차프로젝트 결함 예측의 적용 가능성에 대한 연구가 제안되었다. 이에 본 연구에서는 Ansible의 교차 프로젝트 결함 예측 기법을 적용한 후 그 성능을 분석하였다. 실험 결과, F1 기준 교차 프로젝트 결함 예측의 성능이 0.3∼0.5로 측정되었으며, 내부 프로젝트 결함 예측 기법을 대신해서 사용할 수 있을 것으로 나타났다. 따라서 이를 이용하여 Ansible의 소프트웨어 품질 보증 활동에 기여할 수 있을 것으로 기대한다.

오픈 소스 기계학습 애플리케이션에 대한 결함 사례 조사

최윤호, 이창공, 남재창

http://doi.org/10.5626/JOK.2022.49.8.633

기계학습 기반 프로그래밍 패러다임과 전통적인 방식의 프로그래밍 패러다임의 차이는 기계학습 애플리케이션에서 발생할 수 있는 결함을 검출하고 이해, 분석, 해결하는 것에 다른 양상을 나타낼 수 있다. 이와 같은 상황에서, 본 연구는 기계학습 기반 시스템이 가진 결함을 이해하고 분석하기 위해, 오픈소스 기계학습 애플리케이션에서 발생했던 결함의 사례들을 수집하고 빈번하게 발생하는 결함의 원인을 파악하고자 하였다. 이를 위해, GitHub에 공개된 10개의 오픈소스 기계학습 애플리케이션을 대상으로 GitHub 이슈 게시판에 있는 1,205개의 결함 이슈 보고와 결함 수정 코드 이력을 직접 분석하여 보고/발견/수정되었던 결함에 대해 분석하였다. 10개 중 5개 이상의 프로젝트에서 공통으로 발견된 결함의 근본적인 원인 기준으로 20개의 결함 원인 범주를 설정하였다. 본 연구의 결과는 결함 위치 추적, 가능한 결함 해결 코드 수정 제안 등의 품질 향상 기술에 활용될 수 있을 것으로 기대된다.

소프트웨어 결함 예측에 적합한 생성적 적대 신경망 모델 식별 연구

최지원, 이재욱, 류덕산, 김순태

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)를 낮추는 하이퍼파라미터 값은 무엇인지 민감도 분석을 수행한다. 실험 결과, 데이터셋에 따라 하이퍼파라미터를 조정해야 함을 보였다. 우리의 제안한 기법이 소프트웨어 결함 예측의 성능을 향상시켜 한정된 자원을 효과적으로 할당하는데 도움이 될 것이라고 기대한다.

상관 계수를 활용한 이종 결함 예측의 학습 프로젝트 선택 기법

김은섭, 백종문, 류덕산

http://doi.org/10.5626/JOK.2021.48.8.920

소프트웨어 결함 예측은 과거의 결함정보를 바탕으로 개발 중인 소프트웨어의 결함을 예측하는 기술이다. 최근에는 서로 다른 메트릭을 가진 프로젝트 사이에서도 기술을 적용하기 위해 이종 결함예측이 떠오르고 있다. 지금까지 이종 결함 예측은 한 쌍의 학습 및 타겟 프로젝트가 주어졌을 때 성능을 높이는 것에 초점을 맞춰왔다. 그러나 실제 개발에서는 하나의 타겟 프로젝트에 대해 여러 학습 후보 프로젝트가 존재하므로 어떤 것으로 모델을 학습해야 최적의 결과를 얻을지 알 수 없다. 본 연구에서는 이러한 문제를 해결하기 위해 상관 계수를 활용한 학습 프로젝트 선택 기법을 제안한다. 메트릭 매칭 후 대응하는 데이터 간 상관 계수의 평균이 가장 높은 프로젝트를 학습 프로젝트로 선택한 결과, 무작위 선택과 비교하여 예측 성능이 증가했다. 또한, 100개 미만의 인스턴스를 학습 후보에서 제외하여 성능을 향상할 수 있었다. 이를 통해 실제 개발에서 결함이 존재하는 모듈을 더 정확히 예측할 수 있다.

소프트웨어 결함 예측의 조선해양/해상운송 산업 적용 사례 연구

강종구, 류덕산, 백종문

http://doi.org/10.5626/JOK.2020.47.8.769

소프트웨어 결함 예측(Software Defect Prediction)은 최신의 다양한 기계학습 (Machine Learning) 기법을 적용하여 과거의 소프트웨어 결함 및 업데이트 정보를 학습한 모델을 기반으로 새로 개발된 소프트웨어 결함을 사전에 예측하는 연구이다. 이를 통해 실제 산업에서 소프트웨어 품질보증(SQA) 자원을 효과적으로 운영/배치하기 위한 가이드로 활용할 수 있다. 최근 산업 적용 사례들이 일부 학계에 보고되고 있지만, 특성이 서로 다른 다양한 도메인 적용과 이를 적용하면서 얻은 통찰을 실제에 반영하는 연구가 보다 활발하게 필요한 상황이다. 본 논문에서는 최근 고효율 친환경 선박, 커넥티드 선박, 스마트 선박, 무인 선박, 자율운항 선박 등 미래 운송 수단으로의 변화에 직면해 있는 조선해양/해상운송 산업에 소프트웨어 결함 예측의 적용 가능성을 제시한다. 해당 도메인에서 수집된 실제 데이터를 활용하여 실험을 수행한 결과 0.91 Accuracy와 0.831 F-measure의 높은 결함 예측 성능을 보여 가능성을 확인하였고, 기존 사례가 없는 해당 산업으로의 적용 방안을 제시하여 SQA 자원 배치를 효과적으로 지원하는 도구가 될 것으로 기대 된다.

An Effective Comparative Framework for Cross-Project Defect Prediction Based on the Feature Selection Technique

Duksan Ryu, Jongmoon Baik

http://doi.org/10.5626/JOK.2018.45.7.635

소프트웨어 결함예측(SDP)은 결함취약모듈에 대한 테스팅 리소스를 최적으로 할당하도록 돕는다. 내부프로젝트 결함예측(WPDP)과 달리, 파일럿 프로젝트의 예처럼, 과거 프로젝트에서 수집한 데이터가 없는 경우가 존재한다. 이런 경우, 다른 프로젝트의 데이터를 사용하는 교차프로젝트 결함예측(CPDP)이 적용될 수 있다. 관련성이 없거나 중복된 정보가 있는 경우 결함예측 성능이 저하 될 수 있는데, 이를 해결하기 위해 다양한 특징선택 기술이 제안되었다. 현재까지 CPDP에 효과적인 특징선택 기술을 식별하는 연구는 없으며, 우리는 CPDP에 높은 예측성능을 얻기 위해 특징선택 기법을 적용한 비교 프레임워크를 제시한다. 3개의 CPDP 모델들과 1개의 WPDP 모델에 대해, 우리는 특징 부분집합 평가자와 특징 순위 기법에 기반한 8개의 기존 특징선택 기법을 비교한다. 최고의 성능을 보인 특징들이 선택된 후, 분류기들이 구축, 테스트되고, 통계적 유의성 검증과 영향도 크기 검증기법을 활용하여 평가된다. 근접 기반 하이브리드 인스탄스 선택(HISNN)이 다른 CPDP 모델들보다 우수하고 WPDP와는 동등하였다. 비교 결과는 다른 분포, 클래스 불균형, 특징선택이 고성능의 CPDP 모델을 얻기 위해 고려되어야 함을 보이고 있다.

ANP 모형을 이용한 응용 소프트웨어 결함요소에 대한 중요도 가중치 설정 기법

허상무, 김우제

http://doi.org/

소프트웨어 품질을 향상하기 위해서는 소스에 내재된 결함을 효율적, 효과적으로 제거해야 한다. 개발현장에서는 결함 심각도와 결함 제거율로 결함을 제거하고 있다. 결함을 이용하여 품질을 향상하기 위한 연구로는 결함 발생 빈도과 ISO 품질속성을 이용하여 품질을 향상하려는 연구가 있고, 프로젝트수행 시 결함을 심각도로 관리하여 품질을 향상시키는 연구가 있었다. 하지만, 결함 자체에 집중하여 결함을 유형화하여 결함 유형 간에는 어떤 영향력이 있는지, 그 영향력으로 인하여 어느 결함 유형이 더 중요한 지에 대한 연구는 미흡한 실정이었다. 이에 본 연구에서는 표준단체, 업체, 연구자들의 소프트웨어 결함유형을 수집, 분류하여 ANP로 모형화하였다. 또한, 구성된 ANP 모형을 이용하여 일반 응용 소프트웨어에 대하여 결함 유형별 중요도 가중치를 산정하였다. 일반 응용 소프트웨어를 개발할 때, 산정된 가중치를 적용하여 결함을 제거한다면, 좀 더 효율적이고 효과적으로 소프트웨어 품질을 향상할 수 있으리라 기대한다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr