$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

소스코드 주제를 이용한 인공신경망 기반 경고 분류 방법
Warning Classification Method Based On Artificial Neural Network Using Topics of Source Code 원문보기

정보처리학회논문지. KIPS transactions on computer and communication systems 컴퓨터 및 통신 시스템, v.9 no.11, 2020년, pp.273 - 280  

이정빈 (고려대학교 시간생물학연구소)

초록
AI-Helper 아이콘AI-Helper

자동화된 정적분석 도구는 소스 코드상에 잠재된 결함을 개발자들이 적은 노력으로 빠르게 찾을 수 있도록 도와준다. 하지만 이러한 정적분석 도구는 수정할 필요가 없는 오탐지 경고들을 무수하게 발생시킨다. 본 연구에서는 소스코드 블록의 토픽 모델을 이용한 인공신경망 기반의 경고 분류 기법을 제안한다. 소프트웨어 변경 관리 시스템으로부터 버그를 수정한 리비전들을 수집하고, 개발자들로부터 수정된 코드 블록들을 추출한다. 토픽 모델링을 이용하여 수집된 코드 블록의 토픽 분포 값을 구하고, 코드 블록의 리비전 간 경고들의 삭제 여부를 표현하는 이진데이터를 인공신경망의 입력 값과 출력 값으로 사용하여 심층 학습을 수행한다. 그 결과, 인공신경망 기반의 분류 모델이 높은 예측 성능으로 진성 또는 오탐지 경고를 분류하였다.

Abstract AI-Helper 아이콘AI-Helper

Automatic Static Analysis Tools help developers to quickly find potential defects in source code with less effort. However, the tools reports a large number of false positive warnings which do not have to fix. In our study, we proposed an artificial neural network-based warning classification method...

주제어

표/그림 (11)

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • BCE 손실 함수는 인공신경망 출력층의 Sigmoid 활성화 함수 뒤에 Cross-Entropy 함수를 붙인 형태로 정적분석을 통해 보고되는 경고가 진성 경고(1)인지 오탐 경고(0)인지 판단하기 위해 Sigmoid 함수로부터 출력되는 0과 1사이의 실수 값을 0 또는 1로 출력하여 평가한다. BCE 손실 함수의 목표는 인공신경망의 입력값 즉, 어떤 코드 블록의 토픽의 확률 분포 값들에 대해서 해당 코드 블록에서 어떤 경고가 수정해야 하는 진성 경고이고 수정하지 않아도 되는 오탐 경고인지 확률적으로 예측하는 것이다. 이 예측을 통해 실제 개발자들 이 수정한 ground truth 확률값에 최대한 유사하게 학습함으로써 인공신경망의 초모수 값을 조정할 수 있다.
  • 본 연구에서는 자동 정적분석 도구가 탐지하는 수많은 경고들 중에서 개발자들이 반드시 수정해야 할 진성 경고와 오탐 경고를 인공신경망을 이용하여 분류해주는 방법을 제시하고자 한다. 심층 학습을 통해 선정된 인공신경망 모델로부터 수정된 소스 코드 블록의 토픽 분포 유형에 따라 어떤 경고를 수정해야 하는지 구분하는 것을 목표로 한다.
  • 본 연구에서는 정적분석 도구를 통해 보고되는 무수히 많은 경고 중에서, 개발자들이 반드시 수정해야 하는 진성 경고와 수정하지 않아도 되는 오탐 경고를 분류하기 위한 인공신경망 기반 경고 분류 기법을 제안하였다. 변경된 코드 블록의 토픽 분포 확률값을 입력 변수로, 버그 수정 전과 후의 코드 블록 안에서 발생된 경고의 변화 여부를 출력 변수로 사용하는 인공신경망을 구축하여 진성 경고와 오탐 경고를 예측하고, 그 결과를 다중회귀모델과 비교분석하여 모델의 타당성을 검증하였다.
  • 본 연구에서는 자동 정적분석 도구가 탐지하는 수많은 경고들 중에서 개발자들이 반드시 수정해야 할 진성 경고와 오탐 경고를 인공신경망을 이용하여 분류해주는 방법을 제시하고자 한다. 심층 학습을 통해 선정된 인공신경망 모델로부터 수정된 소스 코드 블록의 토픽 분포 유형에 따라 어떤 경고를 수정해야 하는지 구분하는 것을 목표로 한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (19)

  1. U. Yuksel and H. Sozer, "Automated classification of static code analysis alerts: A case study," in 2013 IEEE International Conference on Software Maintenance, pp.532-535, 2013. 

  2. L. M. R. Velicheti, D. C. Feiock, M. Peiris, R. Raje, and J. H. Hill, "Towards modeling the behavior of static code analysis tools," in Proceedings of the 9th Annual Cyber and Information Security Research Conference, pp.17-20, 2014. 

  3. Z. P. Reynolds, A. B. Jayanth, U. Koc, A. A. Porter, R. Raje, and J. H. Hill, "Identifying and documenting false positive patterns generated by static code analysis tools," in 2017 IEEE/ACM 4th International Workshop on Software Engineering Research and Industrial Practice, pp.55-61, 2017. 

  4. M. Beller, R. Bholanath, S. McIntosh, and A. Zaidman, "Analyzing the state of static analysis: A large-scale evaluation in open source software," in 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, pp.470-481, 2016. 

  5. S. Mani, A. Sankaran, and R. Aralikatte, "Deeptriage: Exploring the effectiveness of deep learning for bug triaging," in Proceedings of the ACM India Joint International Conference on Data Science and Management of Data, pp.171-179, 2019. 

  6. A. Yadav, S. K. Singh, and J. S. Suri, "Ranking of software developers based on expertise score for bug triaging," Information and Software Technology, Vol.112, pp.1-17, 2019. 

  7. A. Goyal and N. Sardana, "Analytical Study on Bug Triaging Practices," In Cognitive Analytics: Concepts, Methodologies, Tools, and Applications, pp.1698-1725, 2020. 

  8. Q. Hanam, L. Tan, R. Holmes, and P. Lam, "Finding patterns in static analysis alerts: improving actionable alert ranking," in Proc. the 11th Working Conference on Mining Software Repositories, ACM, pp.152-161, 2014. 

  9. J. Wang, S. Wang, and Q. Wang, "Is there a golden feature set for static warning identification?: an experimental evaluation," in Proc. the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, pp.1-10, 2018. 

  10. S. Arai, K. Sakamoto, H. Washizaki, and Y. Fukazawa, "A gamified tool for motivating developers to remove warnings of bug pattern tools," in 2014 6th International Workshop on Empirical Software Engineering in Practice. pp.37-42, 2014. 

  11. K. Liu, D. Kim, T. F. Bissyande S. Yoo, and Y. Le Traon, "Mining fix patterns for findbugs violations," IEEE Transactions on Software Engineering, 2018. 

  12. Paul J. Werbos, "The Roots of Backpropagation: From Ordered Derivatives to Neural Networks and Political Forecasting," New York: John Wiley & Sons, 1994. 

  13. G. Ian, B. Yoshua, and C. Aaron, "6.2.2.3 Softmax Units for Multinoulli Output Distributions," in Deep Learning, MIT Press, pp.180-184, 2016. 

  14. S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R. Harshman, "Indexing by latent semantic analysis," Journal of the Association for Information Science and Technology, Vol.41, No.6, pp.391-407, 1990. 

  15. T. Hofmann, "Probabilistic latent semantic indexing," in Proc. the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp.50-57, 1999. 

  16. D. M. Blei, A. Y. Ng, and M. I. Jordan, "Latent Dirichlet allocation," Journal of Machine Learning Research, Vol.3, pp.993-1022, 2003. 

  17. J. Chang, S. Gerrish, C. Wang, J. L. Boyd-Graber, and D. M. Blei, "Reading tea leaves: How humans interpret topic models," in Proc. the 23rd Advances in Neural Information Processing Systems, pp.288-296, 2009. 

  18. N. Singh, S. R. Mohanty, and R. D. Shukla, "Short term electricity price forecast based on environmentally adapted generalized neuron," Energy, Vo.125, pp.127-139, 2017. 

  19. S. Ruder, "An overview of gradient descent optimization algorithms," arXiv preprint arXiv:1609.04747v2, 2016. 

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

오픈액세스 학술지에 출판된 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로