$\require{mediawiki-texvc}$

연합인증

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

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

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

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

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

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

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

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

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

[국내논문] RNN을 이용한 동작기록 마이닝 기반의 추천 방법
A Code Recommendation Method Using RNN Based on Interaction History 원문보기

정보처리학회논문지. KIPS transactions on software and data engineering. 소프트웨어 및 데이터 공학, v.7 no.12, 2018년, pp.461 - 468  

조희태 (경상대학교 정보과학과) ,  이선아 (경상대학교 항공우주및소프트웨어전공) ,  강성원 (KAIST 전산학부)

초록
AI-Helper 아이콘AI-Helper

개발자들은 소프트웨어 개발과 유지보수 작업 중 하나의 코드를 수정하는데 들이는 시간보다 이를 위해 코드를 탐색하고 이해하는데 더 많은 시간을 소모한다. 코드를 탐색하는 시간을 줄이기 위하여 기존 연구들은 데이터 마이닝과 통계적 언어모델 기법을 이용하여 수정할 코드를 추천하여 왔다. 그러나 이 경우 모델의 학습 데이터와 입력되는 데이터가 정확하게 일치하지 않으면 추천이 발생하지 않는다. 이 논문에서 우리는 딥러닝의 기법 중 하나인 Recurrent Neural Networks에 동작기록을 학습시켜 기존 연구의 상기 문제점 없이 수정할 코드의 위치를 추천하는 방법을 제안한다. 제안 방법은 RNN과 동작기록을 활용한 추천 기법으로 평균 약 91%의 정확도와 71%의 재현율을 달성함으로써 기존의 추천방법보다 코드 탐색 시간을 더욱 줄일 수 있게 해 준다.

Abstract AI-Helper 아이콘AI-Helper

Developers spend a significant amount of time exploring and trying to understand source code to find a source location to modify. To reduce such time, existing studies have recommended the source location using statistical language model techniques. However, in these techniques, the recommendation d...

주제어

표/그림 (10)

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

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

문제 정의

  • 본 절에서는 실험에 사용되는 딥러닝과 Recurrent Neural Network (RNN)에 대해 설명하며, 동작기록을 딥러닝에 적용하는 방법을 기술한다.
  • 본 절에서는 우리의 모델의 추천 결과가 실질적으로 어떤 의미를 가질 수 있는지에 대한 조사를 진행한다. 이를 위해 2절 연구동기에서 사용한 두 개의 버그리포트에 대한 추천 결과가 가지는 의미에 대한 조사를 진행한다.
  • 본 절에서는 우리의 연구와 관련된 연구들을 기술한다. 관련 연구들은 통계적 언어모델을 사용한 코드 추천에 관한 연구와 소프트웨어 공학 문제에 딥러닝을 적용한 연구, 동작기록에 마이닝을 적용한 연구들이 있었다.
  • 우리는 개발자들의 동작기록과 딥러닝 모델을 사용하여 개발자들이 코드의 탐색과 이해를 거쳐 수정해야 하는 코드를 찾는데까지 걸리는 시간을 줄이기 위한 연구를 진행한다. 본 연구는 동작기록 중 개발자가 탐색하거나 수정한 기록들만 추출해 시간순으로 나열하고, 특정한 문맥을 구성하고 딥러닝 모델에 학습시켜 수정할 파일을 추천하는 방법으로 진행한다.
  • 우리는 실제 버그리포트와 동작기록을 조사하여 개발자들이 어떻게 수정하는 코드를 탐색하는지 조사했다. 먼저 이클립스의 Platform 프로젝트의 100799번 버그리포트는 특정 플러그인을 사용할 때 오류메시지 없이 종료된다는 내용을 보고하였다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
소프트웨어 프로젝트의 핵심 요소에는 무엇이 있는가? 시간, 품질, 비용은 소프트웨어 프로젝트의 핵심 요소이다. 특히 소프트웨어 프로젝트의 많은 특징 중 한시성 때문에 시간은 품질과 비용, 그 외 여러 요소에 영향을 미친다[1].
딥러닝은 무엇인가? 딥러닝은 사람의 뇌를 본뜬 인공 신경망을 바탕으로 데이터를 이용하여 학습시키는 방법이다. 학습된 인공 신경망 모델은 주로 새로운 입력 데이터에 대한 결과를 예측한다.
딥러닝의 인공 신경망은 어떠한 기능을 하는가? 딥러닝은 사람의 뇌를 본뜬 인공 신경망을 바탕으로 데이터를 이용하여 학습시키는 방법이다. 학습된 인공 신경망 모델은 주로 새로운 입력 데이터에 대한 결과를 예측한다. 그중 Recurrent Neural Network(RNN)은 Convolutional Neural Network(CNN)과 함께 딥러닝의 대표적인 인공 신경망이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (14)

  1. J. S. Cho and J. C. Park, "A Study on The Project Schedule Management System Development for Small Scale IT Companies," The KORMS, pp.1264-1272. 2008. 

  2. S. A. Lee, S. W. Kang, S. H. Kim, and M. Staats, "The Impact of View Histories on Edit Recommendations," IEEE Transactions on Software Engineering, Vol.41, Issue 3, pp.314-330, 2015. 

  3. V. Raychev, M. Vechev, and E. Yahav, "Code completion with statistical language models," in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Edinburgh, pp.419-428, 2014. 

  4. T. T. Nguyen, A. T. Nguyen, H. A. Nguyen, and T. N. Nguyen, "A statistical semantic language model for source code," in Proceedings of the Joint Meeting on Foundations of Software Engineering, Saint Petersburg, pp.532-542, 2013. 

  5. A. T. Nguyen and T. N. Nguyen, "Graph-based statistical language model for code," in IEEE International Conference on Software Engineering, Florence, 2015. 

  6. X. Gu, H. Zhang, D. Zhang, and S. Kim, "Deep API learning," in Proceedings of the ACM SIGSOFT International Symposium on Foundation of Software Engineering, Seattle, pp.631-642, 2016. 

  7. X. Gu, H. Zhang, D. Zhang, and S. Kim, "DeepAM: Migrate APIs with multi-modal sequence to sequence learning," in Proceedings of International Joint Conference on Artificial Intelligence, Melbourne, pp.3675-3681, 2017. 

  8. S. R. Lee, M. J. Heo, C. G. Lee, M. Kim, and G. Jeong, "Applying deep learning based automatic bug triager to industrial projects," in Proceedings of the Joint Meeting on Foundations of Software Engineering, Paderborn, pp.926-931. 

  9. S. Hochreiter and J. Schmidhuber, "Long short-term memory," Neural Computation, Vol.9, No.8 pp.1735-1780. 

  10. J. Y. Chung, C. Gulcehre, K. H. Cho, and Y. Bengio, "Empirical evaluation of gated recurrent neural networks on sequence modeling," arXiv preprint arXiv:1412.3555, 2014. 

  11. D. P. Kingma and J. Ba, "Adam: A method for stochastic optimization," arXiv preprint arXiv:1412.6980, 2014. 

  12. R. Dyer, H. A. Nguyen, H. Rajan, and T. N. Nguyen, "Boa: Ultra-large-scale software repository and source-code mining," ACM Transactions on Software Engineering and Methodology, Vol.25, Issue 1, Article No.7, 2015. 

  13. S. A. Lee, S. W. Kim, S. H. Kim, and M. Staats, "The impact of view histories on edit recommendations," IEEE Transactions on Software Engineering, Vol.41, No.3, pp.314-330, 2015. 

  14. K. Damevski, D. C. Shepherd, J. Schneider, and L. Pollock, "Mining sequences of developer interactions in visual studio for usage smells," IEEE Transactions on Software Engineering, Vol.43, No.4, pp.359-371, 2016. 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

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

유발과제정보 저작권 관리 안내
섹션별 컨텐츠 바로가기

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

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

선택된 텍스트

맨위로