• 제목/요약/키워드: Software Repository Mining

검색결과 6건 처리시간 0.017초

다형의 버그 추적 시스템 마이닝 및 분석을 위한 저장소 독립 모델 설계 (Designing a Repository Independent Model for Mining and Analyzing Heterogeneous Bug Tracking Systems)

  • 이재권;정우성
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권9호
    • /
    • pp.103-115
    • /
    • 2014
  • 본 논문은 다양한 버그 추적 시스템으로부터 추출한 데이터를 통합하여 단일 저장소 모델을 제공하는 UniBAS(Unified Bug Analysis System)를 제안한다. UniBAS는 MSR(Mining Software Repositories) 연구 과정에서의 저장소 추출, 데이터 가공이나 모델 생성과 같은 공통적인 반복 작업을 줄이고, 관련 연구자가 상위 수준의 연구에 보다 집중할 수 있도록 함으로써 해당 연구 수행에 발생하는 복잡도와 비용을 줄여준다. 또한, UniBAS는 데이터 추출 뿐 아니라 질의 기반 분석에 필요한 테이블, 뷰 및 저장 프로시저 등을 자동 생성하며, 수집한 데이터 관리와 외부 도구와의 연동을 위해 다양한 형식의 파일을 생성할 수 있다. 사례 연구로 UniBAS의 유용성을 검증하기 위해 Mozilla사이트의 Firefox프로젝트를 대상으로 실제 중복 버그 리포트를 탐지하는 실험을 진행하였다. 이 과정에서 자동 추출된 자료를 대상으로 질의와 분석이 유연하게 이루어질 수 있었으며, 다양한 자연어 처리 알고리즘 적용을 통해 유효한 실험 결과를 얻을 수 있었다.

커밋 히스토리에 기반한 버그 및 커밋 연결 기법 (A Technique to Link Bug and Commit Report based on Commit History)

  • 채영재;이은주
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제22권5호
    • /
    • pp.235-239
    • /
    • 2016
  • 커밋-버그 링크는 커밋히스토리(commit history)와 버그 리포트(bug report) 간의 연결(Link)을 뜻한다. 커밋-버그 링크는 소프트웨어 유지보수와 결함 예측, 버그 추적 시스템(Bug Tracking System)에 이용이 되며, 특히 결함 예측 측면에서는 성능면에서의 기반이 된다. 일반적으로 링크를 자동으로 연결하는 방식은 텍스트 유사도(text similarity)나 시간 간격(time interval), 키워드(keyword) 등을 통해서 추출하였다. 하지만 기존 방식은 커밋히스토리(commit history)의 질적인 부분에 의존적이기 때문에 다수의 링크를 놓치게 된다는 단점이 존재한다. 본 논문에서는 커밋히스토리의 메시지(message)부분에만 의존하지 않고, 버그리포트에서 연결된 커밋히스토리의 파일간의 유사도를 이용하여 링크를 연결할 수 있는 방식을 제안하고 실험을 통하여 본 기법의 적용성을 보인다.

모바일 쇼핑 앱 리뷰를 이용한 시장 포지셔닝 분석 (A Market Positioning Analysis using Mobile Shopping App Reviews)

  • 김용환;박지훈;이승준;김자희
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2016년도 제53차 동계학술대회논문집 24권1호
    • /
    • pp.157-160
    • /
    • 2016
  • 최근 모바일 쇼핑 시장의 거래액 규모는 해마다 기하급수적으로 증가하고 있으며, 기업들은 모바일 애플리케이션의 어떤 특성들이 자사의 매출을 증대시킬 수 있는지에 대해 관심이 있다. 그러므로 본 논문에서는 텍스트 마이닝을 이용하여 사용자들이 많이 쓰는 모바일 쇼핑 애플리케이션의 리뷰에서 자주 쓰는 명사를 추출하고 내용분석을 통해 평가 항목들을 도출한다. 그리고 도출된 평가항목에 레퍼토리 그리드 기법을 적용하여 모바일 쇼핑 애플리케이션을 평가하고 시장 포지셔닝을 실시한다. 이를 통해 모바일 쇼핑 애플리케이션의 어떤 특성이 이용자들의 서비스 선호도에 영향을 미치는지 분석한다.

  • PDF

파이썬 딥러닝 응용의 코드 리팩토링 특성 분석 (Analyzing Characteristics of Code Refactoring for Python Deep-Learning Applications)

  • 김동관
    • 한국콘텐츠학회논문지
    • /
    • 제22권10호
    • /
    • pp.754-764
    • /
    • 2022
  • 코드 리팩토링은 소프트웨어 시스템의 코드를 변경함으로써 새로운 요구사항 반영, 버그 수정, 코드 구조화 등을 달성하기 위한 유지보수 활동이다. 리팩토링 유형, 리팩토링 효과, 지원 도구 등에 관한 다양한 연구가 진행 중이다. 하지만, 많은 연구들이 자바 응용들을 대상으로 하고 있으며 파이썬 응용에 관한 리팩토링 연구는 사례가 많지 않다. 본 논문은 파이썬으로 개발된 딥러닝 시스템을 대상으로 단일 리팩토링과 복합 리팩토링을 식별하고 특성을 분석하였다. 또한, 딥러닝 응용과 일반 파이썬 응용 두 그룹에서 단일 및 복합 리팩토링 연산의 발생 빈도에 있어 통계학적 유의미한 차이가 있음을 확인하였다. 또한, 커밋 메시지의 키워드를 분석하여 소프트웨어 개발자들의 리팩토링 의도가 커밋 메시지에 반영되었는지를 분석하였다.

개발자 별 버그 해결 유형을 고려한 자동적 개발자 추천 접근법 (A Technique to Recommend Appropriate Developers for Reported Bugs Based on Term Similarity and Bug Resolution History)

  • 박성훈;김정일;이은주
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권12호
    • /
    • pp.511-522
    • /
    • 2014
  • 소프트웨어 개발 및 유지보수 과정에서 여러 종류의 버그가 발생된다. 버그는 소프트웨어의 개발 및 유지 보수 시간을 증가시키는 주요원인으로 소프트웨어의 품질 저하를 초래한다. 버그의 발생을 사전에 완벽하게 방지하는 것은 불가능하다. 대신 버그 질라(Bugzilla), 멘티스BT(MantisGBT), 트랙 (Trac), 질라 (JIRA)와 같은 버그 트래킹 시스템을 이용하여 버그를 효과적으로 관리하는 것이 가능하다. 개발자 또는 사용자가 발생된 버그를 버그 트래킹 시스템에 보고하면, 프로젝트 매니저에 의해서 보고된 버그는 버그 해결에 적합한 개발자에게 전달되어 해결될 때까지 버그 트래킹 시스템에 의해서 추척된다. 여기서 프로젝트 매니저가 버그 해결에 적합한 개발자를 선별하는 것을 버그 분류 작업 (Bug triaging)이라고 하며, 대량으로 발생되는 버그 리포트들을 수동으로 분류하는 것은 프로젝트 매니저에게 있어서 매우 어려운 문제가 된다. 본 논문에서는 버그 트래킹 시스템에 저장된 과거에 해결된 버그 리포트에서 개발자 별 버그 해결 유형을 추출하고, 이를 활용한 버그 분류 작업, 즉 개발자 추천 방법을 제안한다. 먼저 버그 트래킹 시스템에서 각 개발자가 해결한 버그 리포트들을 분류한 후, 자연 언어 처리 알고리즘과 TF-IDF (Term frequency-Inverse document frequency)를 활용하여 각 개발자 별 단어 리스트를 생성한다. 그 후, 새로운 버그가 발생되었을 때 코사인 유사도를 통해서 생성된 개발자 별 단어 리스트와 새로운 버그 리포트의 단어 리스트를 비교하여 가장 유사한 단어 리스트를 가지는 개발자를 추천하는 방법이다. 두 오픈 소스 프로젝트인 이클립스 JDT.UI와 CDT.CORE를 대상으로 수행한 개발자 추천 실험에서 기계 학습 모델 기반의 추천 방법보다 제안하는 방법이 더 우수한 결과를 얻은 것을 확인하였다.

변경 유형의 유사도 및 커밋 시간을 이용한 파일 변경 결합도 (A Technique to Detect Change-Coupled Files Using the Similarity of Change Types and Commit Time)

  • 김정일;이은주
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권2호
    • /
    • pp.65-72
    • /
    • 2014
  • 변경 결합도는 두 요소들 사이의 향후 변경 연관성을 알려준다. 만약, 소스 파일들이 자주 함께 변경된다면, 그 소스 파일들의 변경 결합도는 높다고 볼 수 있으며, 나중에 다시 함께 변경될 확률이 높다. 일반적으로 소스 파일들 사이의 변경 결합도는 공통 변경 횟수에 기반하여 정의되었다. 그런데 연관성이 낮은 변경들이 일괄적으로 함께 커밋되는 경우, 즉 뒤얽힌 변경(tangled change)과 같은 경우들이 빈번히 발생한다. 따라서 함께 변경된 횟수만으로 소스 파일의 변경 결합도를 결정하는 것은 한계가 있다. 본 논문에서는 기존의 방법을 보완하기 위해, 소스 파일의 변경 시간뿐 아니라 소스 코드 변경 유형의 유사성을 함께 고려하는 것을 제안하였다. 이를 위하여, 우선 추출된 변경 유형 정보를 이용하여 변경 유형 빈도 벡터를 정의하고, 다음에 코사인 유사도 측정을 통해서 각 소스 파일 버전에서 적용된 코드 변경 유사성을 계산한다. 이후 Eclipse 프로젝트인 JDT와 CDT에 대한 사례 연구를 통해 제안된 방법의 효용성을 보였다.