Презентация загружается. Пожалуйста, подождите

Презентация загружается. Пожалуйста, подождите

G 정동주 버그 로컬라이제이션에서 잠재적인 편향을 갖게하는 파일및 요소에 대한 논문

Similar presentations


Presentation on theme: "G 정동주 버그 로컬라이제이션에서 잠재적인 편향을 갖게하는 파일및 요소에 대한 논문"— Presentation transcript:

1 G201892006 정동주 버그 로컬라이제이션에서 잠재적인 편향을 갖게하는 파일및 요소에 대한 논문
ASE '14 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering (Pages ) Vasteras, Sweden — September , 2014 G 정동주

2 Index - Introduction - Related Work
- Bias 1 : Report Misclassification - Bias 2 : Localized Bug Reports - Bias 3 : Non-Buggy Files - Other Findings and Threats - Conclusion and Futurework

3 Introduction

4 Introduction - Issue tracking systems, which contains information related to issues faced during the development as well as after the release of a software project, is an integral part of software development activity. - These techniques often use standard information retrieval (IR) techniques to compute the similarity between the textual description of bug report and textual description of source code. - Past studies indicate that the performance of these techniques are promising - up to 80% of bug reports can be localized by just inspecting 5 source code Files. - Despite the promising results of IR-based bug localization approaches, a number of potential biases can affect the validity of results reported in prior studies. - In this work, we focus on investigating three potential biases. 소프트웨어 프로젝트의 릴리스 이후뿐만 아니라 개발 중에 직면 한 문제와 관련된 정보를 포함하는 이슈 추적 시스템은 소프트웨어 개발 활동의 필수적인 부분입니다. 이러한 기술은 종종 표준 정보 검색 (IR) 기술을 사용하여 버그 보고서의 텍스트 설명과 소스 코드의 텍스트 설명 간의 유사성을 계산합니다. 과거의 연구 결과에 따르면 이러한 기술의 성능은 매우 높습니다. 5 개의 소스 코드 파일을 검사하여 버그 보고서의 80 %까지만 현지화 할 수 있습니다 [21]. IR 기반 버그 지역화 접근법의 유망한 결과에도 불구하고, 많은 잠재적 인 편향이 이전 연구에서보고 된 결과의 유효성에 영향을 줄 수 있습니다. 이러한 편향이 버그 지역화 연구의 결과에 큰 영향을 미친다면 미래의 연구자는 기술 성능을 평가할 때 평가 데이터 세트를 정리하는 데 더 많은주의를 기울여야합니다.

5 Introduction 1. Wrongly Classified Reports.
- Herzig et al. reported that many issue reports in issue tracking systems are 803 wrongly classified. - About one third of all issue reports marked as bugs are not really bugs. - Herzig et al. have shown that this potential bias significantly affects bug prediction studies that predict whether a file is potentially buggy or not based on the history of prior bugs. - This potential bias might affect bug localization studies too as the characteristics of bug reports and other issues, e.g., refactoring requests, can be very different. 1. 잘못 분류 된 보고서. Herzig et al. 이슈 추적 시스템에서 많은 이슈 리포트가 잘못 분류되었다고보고했다 [12]. 버그로 표시된 모든 문제 리포트의 약 3 분의 1은 실제로 버그가 아닙니다. Herzig et al. 이 잠재적 인 바이어스는 파일이 이전 버그의 기록을 기반으로 잠재적으로 버그가 있는지 여부를 예측하는 버그 예측 연구에 큰 영향을 미친다는 사실이 밝혀졌습니다. 이러한 잠재적 인 편향은 버그 리포팅과 같은 다른 문제 (예 : 리팩토링 요청)의 특성이 매우 다를 수 있으므로 버그 지역화 연구에도 영향을 줄 수 있습니다.

6 Introduction 2. Already Localized Reports.
- Our manual investigation of a number of bug reports find that the textual descriptions of many reports have already specified the files that contain the bug. - These localized reports do not require bug localization approaches. 2. 이미 현지화 된 보고서. 많은 수의 버그 보고서를 수작업으로 조사한 결과, 많은 보고서의 텍스트 설명에 버그가 포함 된 파일이 이미 지정되어있는 것으로 나타났습니다. 이러한 지역화 된 보고서에는 버그 지역화 접근법이 필요하지 않습니다.

7 Introduction 3. Incorrect Ground Truth Files.
- Kawrykow and Robillard reported that many changes made to source code files are non- essential changes. - These nonessential changes include cosmetic changes made to source code which do not affect the behavior of systems. - Past fault localization studies often use as ground truth source code files that are touched by commits that fix the bugs. - However, no manual investigation was done to check if these files are affected by essential or non-essential changes. - Files that are affected by non-essential changes should be excluded from the ground truth files as they do not contain the bug. 3. 잘못된 기준 파일. Kawrykow와 Robillard는 소스 코드 파일에 대한 많은 변경 사항이 중요하지 않은 변경이라고보고했습니다. 이러한 불필요한 변화에는 시스템의 동작에 영향을 미치지 않는 소스 코드의 외관상의 변화가 포함됩니다. 과거의 결함 지역화 연구는 종종 버그를 수정하는 커밋에 의해 영향을받는 기준 소스 코드 파일로 사용됩니다 [21, 26]. 그러나 이러한 파일이 필수 또는 필수적이지 않은 변경의 영향을 받는지 확인하기 위해 수작업 조사가 수행되지 않았습니다. 불필요한 변경의 영향을받는 파일은 버그가 없으므로 기준 파일에서 제외해야합니다.

8 Introduction RQ1: What are the effects of wrongly classified issue reports on bug localization? RQ2: What are the effects of localized bug reports on bug localization? RQ3: What are the effects of wrongly identified ground truth files on bug localization? - We investigate 5,591 issue reports stored in issue tracking systems of three projects

9 Introduction The contributions of this paper are as follows:
1. We extend our preliminary study, to analyze the effect of wrongly classified issue reports on the effectiveness of bug localization tools. 2. We analyze the effect of localized bug reports on the effectiveness of bug localization tools. We also build an automated technique that can categorize bug reports into these three categories with high accuracy. 3. We analyze the effect of incorrect ground truth files on the effectiveness of bug localization tools. 4. We release a clean dataset that researchers can use to evaluate future bug localization techniques. 1. 버그 지역화 도구의 효율성에 대한 잘못 분류 된 문제 보고서의 효과를 분석하기 위해 사전 연구를 확장합니다. 2. 버그 지역화 도구의 효과에 대한 지역화 된 버그 보고서의 효과를 분석합니다. 이를 위해 버그 리포트를 수작업으로 조사하여 지역화, 부분적으로 지역화 또는 지역화되지 않은 것으로 분류합니다. 우리는 또한 버그 리포트를이 세 카테고리로 높은 정확도로 분류 할 수있는 자동화 된 기술을 구축합니다. 3. 버그 지역화 도구의 효과에 대한 잘못된 기준 파일의 영향을 분석합니다. 이를 위해 커밋에 의해 영향을받는 소스 코드 파일을 수동으로 조사하여 다양한 버그를 수정하고 버그가없는 관련없는 픽스 틀을 탐지합니다. 4. 우리는 연구원이 미래의 버그 지역화 기술을 평가할 때 사용할 수있는 깨끗한 데이터 세트를 공개합니다.

10 Related Work

11 Related Work - Many software engineering studies are highly dependent on data stored in software repositories. - However, the dataset is not always clean, which means it might contain bias. - A set of research work have shown that such bias in a dataset might impact software engineering studies. - We highlight some of them especially closely related ones below. - In the previous work, we find that bias 1 significantly impacts bug localization results. - In this study, we find that bias 1 only significantly impacts bug localization results for one out of the three projects. - The other two research questions are newly proposed in this work. 많은 소프트웨어 엔지니어링 연구는 소프트웨어 리포지토리에 저장된 데이터에 크게 의존합니다. 그러나 데이터 세트가 항상 깨끗한 것은 아니므로 편향을 포함 할 수 있습니다. 일련의 연구 결과에 따르면 데이터 세트에서 이러한 편향이 소프트웨어 엔지니어링 연구에 영향을 미칠 수 있습니다 (예 : [7,12,13,14,15,19]). 우리는 그들 중 몇몇과 특히 밀접하게 관련된 것을 강조합니다. 이전 연구에서 바이어스 1은 버그 지역화 결과에 큰 영향을 미친다는 것을 알게되었습니다. 이 연구에서 바이어스 1은 세 가지 프로젝트 중 하나에 대한 버그 지역화 결과에만 유의미한 영향을 미친다는 것을 알게되었습니다. 다른 두 개의 연구 문제는이 연구에서 새로 제안되었다.

12 Related Work - There are many IR-based bug localization approaches that retrieve source code files that are relevant to an input bug report - In this work, we focus on potential biases that might impact bug localization techniques. - Our study highlights several steps that researchers need to take to clean up datasets used to evaluate the performance of bug localization techniques. 입력 버그 보고서 [18, 20, 21, 23, 26]와 관련된 소스 코드 파일을 검색하는 많은 IR 기반 버그 지역화 접근 방식이 있습니다. 이 작업에서는 버그 지역화 기술에 영향을 줄 수있는 잠재적 인 편향에 중점을 둡니다. 본 연구에서는 버그 지역화 기술의 성능을 평가하는 데 사용되는 데이터 세트를 정리하기 위해 연구원이 수행해야하는 몇 가지 단계를 중점적으로 설명합니다.

13 Bias 1 REPORT MISCLASSIFICATION

14 Bias 1 : Report Misclassification
- Issue tracking systems contain reports of several types of issues such as bugs, requests for improvement, documentation, refactoring, etc. - Herzig et al. report that a substantial number of issue reports marked as bugs, are not bugs but other kinds of issues. - Their results show that these misclassifications have a significant impact on bug prediction. 이슈 트래킹 시스템에는 버그, 개선 요청, 문서화, 리팩토링 등과 같은 여러 유형의 이슈 리포트가 포함됩니다. "Herzig 외"는 버그로 표시된 많은 수의 문제 보고서가 버그가 아니라 다른 종류의 문제라고보고합니다. 그들의 결과는 이러한 잘못된 분류가 버그 예측에 중요한 영향을 미친다는 것을 보여줍니다.

15 Bias 1 : Report Misclassification Step1. Data Acquisition
- We use Herzig et al.'s dataset of manually analyzed issue reports - We download the issue reports from the associated JIRA repositories and extract the textual contents of the summary and description of the reports. - We use the git version control system of the projects to get the commit log files, which are used to map issue reports to their corresponding commits. - We use these mapped commits to check out the source code files prior to the commits that address the issue and the source code files when the issue is resolved. - For each source code file, we perform a similar preprocessing step to represent a file as a bag- of-words. 프로젝트의 Git을사용하여 문제 보고서를 해당 커밋에 매핑하는 데 사용되는 커밋 로그 파일을 가져옵니다. 이 매핑 된 커밋을 사용하여 문제를 해결 한 커밋과 문제가 해결되었을 때 소스 코드 파일을 확인하기 전에 소스 코드 파일을 체크 아웃합니다. 각 소스 코드 파일에 대해 유사한 전처리 단계를 수행하여 파일을 단어 모음으로 나타냅니다.

16 Bias 1 : Report Misclassification Step2. Bug Localization
- After the data acquisition, we have the textual content of the issue reports, the textual content of each source code file in the revision prior to the fix, and a set of ground truth files that are changed to fix the issue report. - We give the textual content of the issue reports and the revision's source code files as input to the bug localization technique, which outputs a ranked list of files sorted based on the similarity to the bug report. 데이터 수집 후에는 문제 보고서의 텍스트 내용, 수정 이전의 수정본에있는 각 소스 코드 파일의 텍스트 내용 및 문제 신고를 수정하기 위해 변경된 일련의 진실 파일이 있습니다. 버그 리포트에 대한 텍스트 컨텐츠를 버그 로컬 리 제이션 기술에 대한 입력으로 제공합니다.이 기술은 버그 리포트와의 유사성에 따라 정렬 된 파일의 순위리스트를 출력합니다.

17 Analyzing Structured Source File Information (VSM)
VSM : In Vector Space Model (VSM), each document is expressed as a vector of token weights typically computed as a product of token frequency and inverse document frequency of each token. Cosine similarity is widely used to determine how close the two vectors are. 벡터 공간 모델 (VSM)에서 각 문서는 일반적으로 각 토큰의 토큰 빈도와 역 문서(토큰을 포함하고 있는 문서) 빈도의 곱으로 계산 된 토큰 가중치 벡터로 표현됩니다. 코사인 유사성은 두 벡터가 얼마나 가까운지를 결정하는 데 널리 사용됩니다. 하기 표현은 클래식 VSM에서 사용되는 식 #terms , 𝑓 𝑡𝑑 = 문서 d에 있는 용어 t의 빈도 수 #docs , 𝑑 𝑡 = 용어 t가 포함된 문서의 수 코사인 유사도를 통해 문서(코드파일) 과 버그 리포트 간의 유사도를 측정

18 Bias 1 : Report Misclassification Step3
Bias 1 : Report Misclassification Step3. Effectiveness Measurement & Statistical Analysis. - After Step 2, for each issue report, we have a ranked list of source code files and a list of supposed ground truth files. - We compare these two lists to compute the average precision score. (MAP) 2 단계 이후에는 각 문제 보고서에 대해 소스 코드 파일의 순위 목록과 가정 된 진실 파일 목록이 있습니다. 이 두 목록을 비교하여 평균 정밀도 점수를 계산합니다.

19 Bias 1 : Report Misclassification
- We divide the issue reports into two categories: issue reports marked as bugs in the tracking system (Reported) and issue reports that are actual bugs i.e., manually labeled by Herzig et al. (Actual). - We compute the MAP scores and use Mann-Whitney U test to examine the difference between these two categories at 0.05 significance level. - We use Cohen's d to measure the effect size, which is the standardized difference between two means. - To interpret the effect size, we use the interpretation given by Cohen, i.e., d < 0.2 means trivial, <= d < 0.5 means small, 0.5 <= d < 0.8 means medium, 0.80 <= d < 1.3 means large, and d >= 1.3 means very large. 문제 보고서는 추적 시스템에서 버그로 표시된 보고서 발행 (보고 됨)과 실제 버그 인 보고서 (Herzig et al.에 의해 수동으로 분류 됨)로 나뉩니다. (실제). Herzig 외의 데이터 세트에서 Actual 세트는 Reported의 하위 세트입니다. MAP 점수를 계산하고 Mann-Whitney U 검정을 사용하여이 두 범주의 차이를 0.05 유의 수준에서 검사합니다. Cohen의 d를 사용하여 두 가지 방법의 표준화 된 차이 인 효과 크기를 측정합니다. 효과 크기를 해석하기 위해 우리는 Cohen이 제시 한 해석을 사용한다. 즉, d <0.2는 사소한 것을 의미하고, 0.20 <= d <0.5는 작은 것을 의미하고, 0.5 <= d <0.8은 중간을 의미하고, 0.80 <= d <1.3은 큰 것을 의미하고, d> = 1.3은 매우 큰 것을 의미합니다. Mann-Whitney-Wilcoxon test == Mean-Whitney-U 두 집단의 차이를 비교하는 방법 (Dirty VS Clean)

20 Bias 1 : Report Misclassification
- We divide the issue reports into two categories: issue reports marked as bugs in the tracking system (Reported) and issue reports that are actual bugs i.e., manually labeled by Herzig et al. (Actual). d < 0.2 means trivial 문제 보고서는 추적 시스템에서 버그로 표시된 보고서 발행 (보고 됨)과 실제 버그 인 보고서 (Herzig et al.에 의해 수동으로 분류 됨)로 나뉩니다. (실제). 잘못 분류 된 문제 보고서 인 바이어스 1은 세 가지 프로젝트 중 하나에 대한 버그 지역화 결과에 큰 영향을 미칩니다. 그러나이 바이어스의 효과는 크기가 0.2 미만인 경우 무시할 수 있습니다.

21 Bias 2 LOCALIZED BUG REPORTS

22 Bias 2 : Localized Bug Reports
- Localized bug reports are those whose buggy files have been identified in the report itself. - For these reports, the remaining task to resolve the bug is simply to fix the buggy files. - These bug reports do not benefit or require bug localization solutions. - We start by manual investigating of a smaller subset of bug reports and identify localized ones. - We then developed an automated means to Find localized bug reports so that our analysis can scale to a larger number of bug reports. - Finally, we input these reports to a number of IR-based bug localization tools to investigate whether localized reports skew the results of bug localization tools. 이슈 트래킹 시스템에는 버그, 개선 요청, 문서화, 리팩토링 등과 같은 여러 유형의 이슈 리포트가 포함됩니다. "Herzig 외"는 버그로 표시된 많은 수의 문제 보고서가 버그가 아니라 다른 종류의 문제라고보고합니다. 그들의 결과는 이러한 잘못된 분류가 버그 예측에 중요한 영향을 미친다는 것을 보여줍니다. 우리는 버그 보고서의 작은 하위 집합을 수동으로 조사하고 지역화 된 보고서를 확인합니다. 그런 다음 자동화 된 방법을 개발하여 지역화 된 버그 보고서를 찾아서 분석 결과가 더 많은 버그 보고서로 확장 될 수 있도록했습니다. 마지막으로이 보고서를 여러 IR 기반 버그 지역화 도구에 입력하여 현지화 된 보고서가 버그 지역화 도구의 결과를 왜곡하는지 여부를 조사합니다.

23 Bias 2 : Localized Bug Reports Step 1: Manually Identifying Localized Bug Reports.
- We manually analyzed 350 issue reports that "Herzig et al." labeled as bug reports. - Out of the 5,591 issue reports from the three projects, "Herzig et al." labeled 1,191 of them as bug reports. - We randomly selected these 350 from the pool of bug reports from the three software projects. - For our manual analysis, we read the summary and description Fields of each bug report. - We also collected the corresponding Files changed to Fix each bug. - We classified each bug report into one the three categories shown in Table 5. -우리는 수동으로 350 보고서를 분석 "Herzig 외." 버그 보고서로 분류됩니다. 세 프로젝트의 5,591 건의 문제 보고서 중 "Herzig 외." 1,191 개를 버그 리포트로 표시했습니다. - 우리는 세 가지 소프트웨어 프로젝트의 버그 보고서 풀에서이 350 개를 무작위로 선택했습니다.- 수동 분석을 위해 각 버그 보고서의 요약 및 설명 필드를 읽습니다. - 해당 파일이 각 버그 수정으로 변경되었습니다.- 각 버그 보고서를 표 5에 표시된 세 가지 범주 중 하나로 분류했습니다.

24 Bias 2 : Localized Bug Reports Step 1: Manually Identifying Localized Bug Reports.

25 Bias 2 : Localized Bug Reports Step 2: Automatic Identification of Localized Reports.
- In this step, we build an algorithm that takes in a set of files that are changed in bug fixing commits and a bug report, and outputs one of the three categories described in Table 5. - Our algorithm first extracts the text that appear in the summary and description fields of bug reports. - Next, it tokenizes this text into a set of word tokens. - Finally, it checks whether the name of each buggy file (ignoring its filename extension) appears as a word token in the set. - If all names appear in the set, our algorithm categorizes the report as fully localized. - If only some of the names appears in the set, it categorizes the bug report as partially localized. - Otherwise, it categorizes the bug report as not localized. - We have evaluated our algorithm on the 350 manually labeled bug reports and find that its accuracy is close to 100%. 이 단계에서는 버그 수정 커밋 및 버그 보고서에서 변경된 파일 집합을 가져와 표 5에 설명 된 세 가지 범주 중 하나를 출력하는 알고리즘을 작성합니다. 우리의 알고리즘은 먼저 버그 리포트의 요약 및 설명 필드에 나타나는 텍스트를 추출합니다. 그런 다음이 텍스트를 단어 토큰 집합으로 토큰 화합니다. 마지막으로, 파일 이름 확장명을 무시하고 각 버그가있는 파일의 이름이 단어 토큰으로 세트에 나타나는지 확인합니다. 모든 이름이 집합에 표시되면 알고리즘은 보고서를 완전히 현지화 된 것으로 분류합니다. 일부 이름 만 집합에 표시되면 버그 보고서가 부분적으로 현지화 된 것으로 분류됩니다. 그렇지 않으면 버그 리포트를 현지화되지 않은 것으로 분류합니다. 우리는 수동으로 분류 된 350 개의 버그 보고서에서 알고리즘을 평가했으며 그 정확도가 100 %에 가깝다는 것을 발견했습니다.

26 Bias 2 : Localized Bug Reports Step 2: Automatic Identification of Localized Reports.

27 Bias 2 : Localized Bug Reports Step 2: Automatic Identification of Localized Reports.

28 Bias 2 : Localized Bug Reports Step 3 & Step 4
Step 3: Application of IR-Based Bug Localization Techniques. - After localized, partially localized, and not localized reports are identified, we create three groups of bug reports. Step 4: Statistical Analysis. - First, we compare the average precision scores achieved by VSM-based bug localization tool for the set of fully localized, partially localized, and not localized reports using Mann-Whitney-Wilcoxon test at 5% significance level. - We also compute Cohen's d on the average precision scores to see if the effect size is small, medium or large. - Second, we compare a subset of bug reports where the VSM-based bug localization technique performs the best and another subset where the VSM-based bug localization techniques performs the worst. - We then compare the distribution of fully, partially, and not localized bugs in these two subsets. 3 단계 : IR 기반 버그 지역화 기법의 적용. 지역화 된, 부분적으로 지역화 된 보고서 및 지역화되지 않은 보고서가 식별되면 3 가지 버그 보고서 그룹을 만듭니다. 그런 다음 세 가지 보고서 그룹 각각에 대해 이러한 도구의 효율성을 평가합니다. 4 단계 : 통계 분석. 먼저, 완전히 지역화 된, 부분적으로 지역화 된, 지역화되지 않은 보고서 집합에 대해 VSM 기반 버그 로컬 리 제이션 도구로 얻은 평균 정밀도 점수를 Mann-Whitney-Wilcoxon 테스트를 사용하여 5 % 유의 수준에서 비교합니다. 평균 정밀도 점수에 Cohen 's d를 적용하여 효과 크기가 작거나 중간인지 또는 큰지 확인합니다. 둘째, VSM 기반 버그 로컬라이제이션 기법이 가장 잘 수행되는 버그 보고서와 VSM 기반 버그 로컬라이제이션 기법이 가장 나쁜 부분 보고서를 비교합니다. 그런 다음이 두 하위 집합의 전체, 부분 및 지역화되지 않은 버그의 분포를 비교합니다.

29 Bias 2 : Localized Bug Reports
완전히 지역화 된, 부분적으로 지역화 된 보고서 및 현지화되지 않은 보고서의 수. 완전히, 부분적으로, 그리고 국한되지 않은 것으로 식별 된 버그 보고서의 수는 표 9에 나와 있습니다. 1,191 개의 버그 리포트 중 398 개 (33.41 %)의 버그 리포트가 완벽하게 현지화되어 있다는 것을 알 수 있습니다. 즉, 버그 리포트에는 버그 수정을 위해 변경된 모든 클래스 파일의 이름이 포함됩니다. 버그 리포트의 50 % 이상이 완전 또는 부분적으로 현지화되어 있습니다. 이는 상당한 수의 버그 보고서가 이미 현지화되어 있으며 버그 지역화 알고리즘의 혜택을받지 못한다는 것을 보여줍니다. 반면, 546 개의 버그보고 (45.84 %)는 전혀 현지화되지 않았습니다.

30 Bias 2 : Localized Bug Reports
완전히 지역화 된, 부분적으로 지역화 된 보고서 및 현지화되지 않은 보고서의 수. 완전히, 부분적으로, 그리고 국한되지 않은 것으로 식별 된 버그 보고서의 수는 표 9에 나와 있습니다. 1,191 개의 버그 리포트 중 398 개 (33.41 %)의 버그 리포트가 완벽하게 현지화되어 있다는 것을 알 수 있습니다. 즉, 버그 리포트에는 버그 수정을 위해 변경된 모든 클래스 파일의 이름이 포함됩니다. 버그 리포트의 50 % 이상이 완전 또는 부분적으로 현지화되어 있습니다. 이는 상당한 수의 버그 보고서가 이미 현지화되어 있으며 버그 지역화 알고리즘의 혜택을받지 못한다는 것을 보여줍니다. 반면, 546 개의 버그보고 (45.84 %)는 전혀 현지화되지 않았습니다. 즉 버그 로컬라이제이션에서 Fully는 제외되어야 한다 p-value 는 Fisher 검정에서 사용되는 값. Fisher 검정은 통계적 유효성을 검사하는 것임 0.5 <= d < 0.8 means medium, 0.80 <= d < 1.3 means large

31 Bias 2 : Localized Bug Reports
- Bias 2, which is localized bug reports, significantly and substantially impacts bug localization results. - More than 50% of the bugs are (already) localized either fully or partially; these reports explicitly mention some or all of the files that are buggy and thus do not require a bug localization algorithm. - The mean average precision scores for fully and partially localized bug reports are much higher (i.e., significantly and substantially higher) than those for not localized bug reports. - The effect sizes of average precision scores between fully and not localized bug reports are large for all three projects. 지역화 된 버그 보고서 인 바이어스 2는 버그 지역화 결과에 상당한 영향을줍니다. 버그의 50 % 이상이 (이미) 전체 또는 부분적으로 현지화되어 있습니다. 이 보고서는 버그가있는 일부 또는 모든 파일을 명시 적으로 언급하므로 버그 지역화 알고리즘이 필요하지 않습니다. 완전 및 부분적으로 지역화 된 버그 리포트에 대한 평균 평균 정밀도 점수는 지역화 된 버그 리포트에 대한 평균 정확도 점수보다 훨씬 높습니다 (즉, 상당히 높았습니다). 세 가지 프로젝트 모두에 대해 지역 정밀도가없는 버그 보고서 사이의 평균 정밀도 점수 효과 크기가 큽니다.

32 Bias 3 Non-Buggy files

33 Bias 3 : Non-Buggy Files - Another issue which can bias the result is wrongly identified ground truth files. - In past studies, wrongly identified ground truth files have not been removed since they require additional analysis. - These wrongly identified ground truth files can potentially skew the result of existing bug localization solutions. 결과에 편견을 줄 수있는 또 다른 문제는 잘못 식별 된 근거 진실 파일입니다. 과거의 연구에서 잘못된 진원지 파일은 추가 분석이 필요하기 때문에 제거되지 않았습니다. 이러한 잘못 식별 된 ground truth 파일은 잠재적으로 기존 버그 지역화 솔루션의 결과를 왜곡 할 수 있습니다.

34 Bias 3 : Non-Buggy Files Step 1: Manually Identifying Wrong Ground Truth Files.
- We randomly select 100 bug reports that are not (already) localized (i.e., these reports do not explicitly mention any of the buggy files) and investigate the files that are modified in the bug fixing commits. - Files that are only affected by cosmetic changes, refactorings, etc. are considered as non-buggy files. - Based on this manual analysis, for each bug report we have the set of clean ground truth files and another set of dirty ground truth files. - "Thung et al." have extended Kawrykow and Robillard work to automatically identify real ground truth files. - However the accuracy of their proposed technique is still relatively low (i.e., precision and recall scores of 76.42% and 71.88%). - Hence, we do not employ any automated tool to identify wrong ground truth files. 1 단계 : 잘못된 지상 진실 파일을 수동으로 확인합니다. 우리는 무작위로 (이미) 지역화되어 있지 않은 (즉,이 보고서는 버그가있는 파일을 명시 적으로 언급하지 않음) 100 개의 버그 보고서를 선택하고 버그 수정 커밋에서 수정 된 파일을 조사합니다. 외관 변경, 리팩토링 등의 영향을받는 파일은 버그가없는 파일로 간주됩니다. 이 수동 분석을 기반으로 각 버그 리포트에 대해 클린 Ground Truth 파일 세트와 더러운 Ground True 파일 세트가 있습니다. "Thung 외"는 Kawrykow와 Robillard를 확장하여 실제 진실 파일을 자동으로 식별합니다. 그러나 제안 된 기술의 정확도는 여전히 비교적 낮습니다 (즉, 정확도와 회수율은 각각 %와 %입니다). 따라서 우리는 잘못된 ground truth 파일을 식별하기위한 자동화 도구를 사용하지 않습니다

35 Bias 3 : Non-Buggy Files Step 1: Manually Identifying Wrong Ground Truth Files.
- We randomly select 100 bug reports that are not (already) localized (i.e., these reports do not explicitly mention any of the buggy files) and investigate the files that are modified in the bug fixing commits. - Files that are only affected by cosmetic changes, refactorings, etc. are considered as non-buggy files. - Based on this manual analysis, for each bug report we have the set of clean ground truth files and another set of dirty ground truth files. - "Thung et al." have extended Kawrykow and Robillard work to automatically identify real ground truth files. - However the accuracy of their proposed technique is still relatively low (i.e., precision and recall scores of 76.42% and 71.88%). - Hence, we do not employ any automated tool to identify wrong ground truth files. 1 단계 : 잘못된 지상 진실 파일을 수동으로 확인합니다. 우리는 무작위로 (이미) 지역화되어 있지 않은 (즉,이 보고서는 버그가있는 파일을 명시 적으로 언급하지 않음) 100 개의 버그 보고서를 선택하고 버그 수정 커밋에서 수정 된 파일을 조사합니다. 외관 변경, 리팩토링 등의 영향을받는 파일은 버그가없는 파일로 간주됩니다. 이 수동 분석을 기반으로 각 버그 리포트에 대해 클린 Ground Truth 파일 세트와 더러운 Ground True 파일 세트가 있습니다. "Thung 외"는 Kawrykow와 Robillard를 확장하여 실제 진실 파일을 자동으로 식별합니다. 그러나 제안 된 기술의 정확도는 여전히 비교적 낮습니다 (즉, 정확도와 회수율은 각각 %와 %입니다). 따라서 우리는 잘못된 ground truth 파일을 식별하기위한 자동화 도구를 사용하지 않습니다

36 Bias 3 : Non-Buggy Files Step 2 & Step 3
Step 2: Application of IR-Based Bug Localization Techniques. - After the set of clean and dirty ground truth files are identified for each of the 100 bug reports, we input the 100 bug 809 reports to a VSM-based bug localization tool. - We evaluate the results of the tool on dirty and clean ground truth files. Step 3: Statistical Analysis. - We compare the average precision scores achieved by the VSM-based bug localization tool for the 100 bug reports with clean and dirty ground truth files using Mann-Whitney-Wilcoxon test at 5% significance level. - We also compute Cohen's d on the average precision scores to see if the effect size is small, medium or large. 2 단계 : IR 기반 버그 지역화 기법의 적용. 깨끗하고 지저분한 Ground 진실 파일 세트가 100 개의 버그 보고서 각각에 대해 확인되면, 우리는 2 장에서 설명 된 VSM 기반 버그 위치 파악 도구에 100 개의 버그 809 보고서를 입력합니다. 우리는 더럽고 깨끗한지면 진실 파일에 대한 도구의 결과를 평가합니다. 이 절에서는 몇 가지 다른 일반적인 평가 척도에 의해 측정 된 편향 효과를 먼저 설명합니다. 다음은 유효성에 대한 몇 가지 위협에 대해 설명합니다. 3 단계 : 통계 분석. 100 개의 버그 리포트를위한 VSM 기반 버그 로컬라이제이션 도구로 얻은 평균 정밀도 점수를 Mann-Whitney-Wilcoxon 테스트를 사용하여 5 % 유의 수준에서 깨끗하고 지저분한 ground truth 파일로 비교합니다. 또한 평균 정밀도 점수에 Cohen 's d를 계산하여 실제 크기가 작거나 중간인지 또는 큰지 확인합니다. Mann-Whitney-Wilcoxon test 두 집단의 차이를 비교하는 방법 (Dirty VS Clean)

37 Bias 3 : Non-Buggy Files - We found that out of 498 files changed to fix the 100 bugs, only 358 files are really buggy. - The other 140 files (28.11 %) do not contain any of the bugs but are changed because of refactorings, modications to program comments, due to changes made to the buggy files, etc. 2 단계 : IR 기반 버그 지역화 기법의 적용. 깨끗하고 지저분한 Ground 진실 파일 세트가 100 개의 버그 보고서 각각에 대해 확인되면, 우리는 2 장에서 설명 된 VSM 기반 버그 위치 파악 도구에 100 개의 버그 809 보고서를 입력합니다. 우리는 더럽고 깨끗한지면 진실 파일에 대한 도구의 결과를 평가합니다.

38 Bias 3 : Non-Buggy Files

39 Bias 3 : Non-Buggy Files d < 0.2 means trivial
- Bias 3, which is incorrect ground truth files, neither significantly nor substantially affects bug localization re- sults. - We notice that 28.11% of the files present in the ground truth (i.e., they are changed in a commit that fix a bug) are non-buggy. - Also, there is a difference of between the MAP scores when a bug localization tool is evaluated on dirty and clean ground truth. 잘못된 접지 진실 파일 인 바이어스 3은 버그 지역화 결과에 크게 또는 크게 영향을 미치지 않습니다. 지상 진실에 존재하는 파일의 % (즉, 버그를 수정하는 커밋에서 변경됨)가 버그가 아닌 것으로 나타났습니다. 또한 버그 지역화 도구가 더럽고 깨끗한 지상 진리에서 평가 될 때 MAP 점수 사이에는 의 차이가 있습니다.

40 Other Findings and Threats

41 Other Evaluation Metrics
- top-N-Rank - MRR (Mean Reciprocal Rank) - Top N Rank 는 산출한 버그가 발견된 파일의 순위가 (1, 5, 10) 인 Bug Report의 개수를 산출함 - MRR은 쿼리 집합 Q의 결과에 대한 순위의 평균임 Bias 1 : Report Misclassification

42 Other Evaluation Metrics
- Top N Rank 는 산출한 버그가 발견된 파일의 순위가 (1, 5, 10) 인 Bug Report의 개수를 산출함 - MRR은 쿼리 집합 Q의 결과에 대한 순위의 평균임 Bias 2 : Localized Bug Reports - Bias 3 : Non-Buggy Files

43 Other Evaluation Metrics
- Top N Rank 는 산출한 버그가 발견된 파일의 순위가 (1, 5, 10) 인 Bug Report의 개수를 산출함 - MRR은 쿼리 집합 Q의 결과에 대한 순위의 평균임

44 Threats to Validity - Threats to internal validity corresponds to errors in our experiments and our labeling. - In this work, these threats are coming from human classification of bug reports. - We have also only analyzed VSM-based bug localization approach. - There are many other techniques proposed in the literature and we plan to analyze them in a future work. - Many of these techniques are based on VSM and they are likely to be ffected by the biases in a similar way as plain VSM. 내부 유효성에 대한 위협은 실험 및 라벨링의 오류와 일치합니다. 이 작업에서 이러한 위협은 사람이 버그 리포트를 분류 할 때 발생합니다. 우리는 또한 VSM 기반 버그 지역화 접근법 만 분석했습니다. 문헌에 제안 된 많은 다른 기술들이 있으며 향후 연구에서이를 분석 할 계획입니다. 이러한 기술의 대부분은 VSM (예 : [21, 23, 26])을 기반으로하며 일반 VSM과 유사한 방식으로 바이어스에 의해 영향을받을 수 있습니다.

45 Conclusion

46 Conclusion - Many studies have proposed IR-based bug localization techniques to aid developers in finding buggy files given a bug report. - These studies often evaluate their effectiveness on issue reports marked as bugs in issue tracking systems, using as ground truth the set of files that are modified in commits that fix each bug. - Our study analyzes the impact of these potential biases on bug localization results. 많은 연구에서 개발자가 버그 리포트를받은 버그 수집에 도움이되는 IR 기반 버그 지역화 기법을 제안했습니다. 이 연구는 종종 각 버그를 수정하는 커밋에서 수정 된 일련의 파일을 사용하여 문제 추적 시스템에서 버그로 표시된 문제 보고서의 효율성을 평가합니다. 우리의 연구는 이러한 잠재적 인 편향이 버그 지역화 결과에 미치는 영향을 분석합니다.

47 Conclusion 1. Wrongly classified issue reports do not statistically signi ficantly impact bug localization results on two out of the three projects. They also do not substantially impact bug localization results on all three projects (effect size < 0.2). 2. (Already) localized bug reports statistically significantly and substantially impact bug localization results (effect size > 0.8). 3. Existence of non-buggy files in the ground truth does not statistically significantly or substantially impact bug localization results (effect size < 0.2). 1. 잘못 분류 된 문제 보고서는 세 가지 프로젝트 중 두 가지에서 버그 지역화 결과에 통계적으로 큰 영향을 미치지 않습니다. 또한 세 가지 프로젝트 모두에서 버그 지역화 결과에 큰 영향을 미치지 않습니다 (효과 크기 <0.2). 2. (이미) 지역화 된 버그보고는 통계적으로 유의미하고 실질적으로 버그 지역화 결과에 영향을 미칩니다 (pvalue <0.05 및 효과 크기> 0.8). 3. 버그 진실이 아닌 파일의 존재는 버그 지역화 결과 (효과 크기 <0.2)에 통계적으로 유의미하게 또는 실질적으로 영향을 미치지 않습니다.


Download ppt "G 정동주 버그 로컬라이제이션에서 잠재적인 편향을 갖게하는 파일및 요소에 대한 논문"

Similar presentations


Ads by Google