디지털 라이브러리[ 검색결과 ]
깃허브 이슈 관리 시스템을 위한 다중 레이블 분류 봇
http://doi.org/10.5626/JOK.2021.48.8.928
많은 개발자들이 오픈 소스 소프트웨어를 개발할 때 사용하는 GitHub 플랫폼은 이슈 관리 시스템을 제공한다. 이 시스템을 활용하여 관련자들은 소프트웨어 문제가 생기거나 기능적인 요청을 할 경우 이를 이슈로 보고할 수 있다. 깃허브의 이슈 관리 시스템은 이슈 보고서에 개발자들이 자유롭게 레이블을 만들어 이슈를 분류할 수 있도록 도와준다. 그러나 레이블링 작업은 수작업으로 이루어지기 때문에 많은 노력이 들어가고 부정확한 레이블링이 쉽게 발생할 수 있다. 반면 레이블링 없는 이슈들을 하나씩 읽고 피드백을 주기 위해서는 많은 시간이 필요하다 이러한 문제점들을 해결하기 위해 단일한 레이블을 붙이는 연구들이 존재한다. 그러나 실제 이슈 보고서에는 여러 개의 레이블이 붙어야 하는 이슈 보고서들도 적지 않게 존재한다. 따라서 본 연구에서는 GitHub 프로젝트 관리자들이 이슈 보고서를 읽고 피드백 주는데 들이는 노력을 줄일 수 있도록 복수개의 레이블을 자동으로 붙이는 다중 레이블링 봇을 제안한다. 제안한 봇에서 사용한 다중 레이블 분류 기법은 0.54의 정확도와 0.78의 F1-score를 보였다.
순환 신경망을 활용한 코드 변경 추천 시스템의 학습 시간 단축 방법
http://doi.org/10.5626/JOK.2020.47.10.948
개발자에게 수정이 필요한 파일을 추천하는 시스템은 개발자의 작업 시간을 줄여 준다. 그러나 이런 추천 시스템은 일반적으로 축적된 데이터를 학습할 때 많은 시간이 들며, 또한 새로운 데이터가 축적될 때마다 새로이 학습하는데 많은 시간을 소모한다. 본 연구는 순환 신경망을 이용한 코드 변경 추천시스템(RNN-CRS)에 새로운 데이터가 축적되어 학습을 다시 해야 할 때 불필요한 학습을 회피하여 학습에 드는 시간을 줄이는 방법을 제안한다. 제안 방법의 실험 평가에서 제안 방법은 데이터가 새로 축적되어 학습 모델을 다시 생성하는데 소요되는 시간을, 실험에 사용된 다섯 개의 제품들에 대하여 시간 단축이 큰 경우에는 기존 연구에 비해 49.08%~68.15% 단축시켰고 작은 경우에는 10.66% 단축시켰다.
확장형 실시간 데이터 파이프라인 시스템 아키텍처 설계
빅데이터 시스템은 대규모 로그 데이터를 수집하는 용도로 광범위하게 사용되고 있기 때문에 높은 성능을 갖는 것이 매우 중요하지만, 현재의 Hadoop 기반의 빅데이터 시스템은 중복 처리로 인하여 낮은 성능을 갖는 아키텍처적인 문제를 가지고 있다. 본 논문은 아키텍처 설계 개선을 통하여 Hadoop 기반 시스템의 낮은 성능 문제를 해결한다. 새로운 제안 아키텍처는 기존 아키텍처의 배치(Batch) 기반의 데이터 수집 방식을 개별처리 방식과 혼합한 수집 방법을 사용하고, 수집하는 데이터를 In-Memory 상에서 직접 분석하여 중복 처리를 배제하여 높은 성능을 제공하게 한다. 또한 제안 아키텍처는 기존 Hadoop 기반 아키텍처의 장점인 시스템 확장성을 가진다. 본 논문은 제안 아키텍처가 테스트 베드 환경에서 기존 아키텍처보다 데이터의 분석 처리 속도가 30%~35% 빠르고 확장성도 가진다는 것을 확인하였다.
문제틀과 아키텍처 패턴의 매칭을 이용한 소프트웨어 아키텍처 설계 방법
패턴은 소프트웨어 개발에서 얻은 경험을 구조화한 것으로 문제해결에 이용되는 반면, 문제틀은 소프트웨어 문제를 분석하는 방법이다. 문제틀은 해법이라기 보다는 문제 도메인에 중점을 두고 있기 때문에 문제를 이해하는데 유용하다. 문제틀과 소프트웨어 아키텍처를 연결하는 기존 연구들은 주어진 문제를 이해하는데 치중하여 문제틀을 이용할 뿐 문제틀과 품질속성 모두를 고려하면서 아키텍처 패턴을 도출하고 있지 않다. 본 논문에서는 문제틀과 아키텍처 패턴의 매칭을 통한 소프트웨어 패턴 기반 아키텍처 설계 방법을 제안한다. 먼저, 문제틀 방법에 따라 문제 모델을 개발한 후 기능 및 품질속성 관점에서 문제모델을 아키텍처 패턴 후보와 매칭한다. 논문은 기능 매칭을 위해서는 문제틀 다이어그램을 이용한 아키텍처 패턴의 문제 모델을, 품질속성을 고려하기 위해서는 새로운 분석 템플릿을 사용하여 아키텍처를 설계하는 방법을 제안한다. 또한, 사례연구를 통해 제안한 방법이 올바른 아키텍처 패턴을 결정하는 체계적인 프로세스이며 잘 정제된 소프트웨어 아키텍처 설계를 위한 기초가 됨을 보인다.