Recommendation system for code bugs.

21
Predicting Bug Fixing Efforts for Open-source Software Systems Prashant Raghav, Jenny Wang CS 846

description

Recommendation System that recommends Similar Bugs and estimates efforts required. Each Defect is broken into set of Keywords and applying ML algorithms to calculate a similarity coefficient.

Transcript of Recommendation system for code bugs.

Page 1: Recommendation system for code bugs.

Predicting Bug Fixing Efforts for Open-source Software SystemsPrashant Raghav, Jenny WangCS 846

Page 2: Recommendation system for code bugs.

OUTLINE

1.Problem and Our Solution2.Initial Setup 3.COS4.Effort Estimation 5.References

Page 3: Recommendation system for code bugs.

Traditional Approach

LOC/Avg LOC ph by a developer = Total number of developer hours● Doesn’t account for

○ Project complexity○ Developer Proficiency

Page 4: Recommendation system for code bugs.

Our Tool ...

Tell me who the bug is Assigned to I will tell you How much time it gonna take ?

Page 5: Recommendation system for code bugs.
Page 6: Recommendation system for code bugs.

1.Selecting Dataset

Choices : BugZilla, JBoss project, Linux

Apache Hadoop Common Issue Tracking System.

Page 7: Recommendation system for code bugs.

Issues 30 Day Summary

Hadoop Common is the common library for Apache Hadoop

Issues 30 Day Summary.Issues: 114 created 66 resolved

Page 8: Recommendation system for code bugs.

2.Data Extraction

Download Data Extract Developers Bug Fix Activity

ID, Title, Description, Status, Detail, Developer

Page 9: Recommendation system for code bugs.

3. Database

Store each Defect in DB with defect information.

Page 10: Recommendation system for code bugs.

3.New Defect

Compare with Previous Defects.

● Duplicate Defect● New Feature

Page 11: Recommendation system for code bugs.

Bug : Incomplete Closing of FirefoxHadoop : Bug-12435Unable to run Hadoop (2.2.0) commands on Cygwin (2.831) on Windows XP 3

Bug-239223 (Ghostproc) – Hadoop version 2.2.0 command while running on Windows XP3 using Cygwin(2.831)

Page 12: Recommendation system for code bugs.

Bug : Incomplete Closing of FirefoxHadoop : Bug-12435Unable to execute Hadoop (2.2.0) commands on Cygwin (2.831) running on Windows XP SP3

Bug-239223 (Ghostproc) – Hadoop version 2.2.0 command could not run on Windows XP (service pack 3) using Cygwin(2.831)

Page 13: Recommendation system for code bugs.

More Bugs

Bug-244372: "Document contains no data" message on continuation page of NY Times article

Bug-219232: random "The Documentcontains no data." Alerts

Page 14: Recommendation system for code bugs.

4.Coefficient of Similarity

CoS : Depends on various factors.a) Are the code files similar?b) Input Files Similar ?c) Fraction of common keywords ?d) Which component ?

Page 15: Recommendation system for code bugs.

5.COS

More the similarity Higher the CoS. Exact Duplicate Defect CoS =1 CoS = w1*TS + w2*FS + w3*CS + w4*IFS* TS : Bug Report Similarity FS : Source Files Similarity SC : Component Similarity IS : Input Files Similarity where Wi are weight to be determined by experiments.

Page 16: Recommendation system for code bugs.

6. Programmer Proficiency

4 Buckets : ● Beginner ● Intermediate● Seasoned● Expert

Page 17: Recommendation system for code bugs.

7.Bracket Determination

Bracket Adjustment Factor(BAF)

● Commits to Software(Features)● 6 months time Frame.

○ No of Defects Solved○ No of Defects Reopened

Page 18: Recommendation system for code bugs.

8.Priority of Bug

Priority Adjustment Factor● High● Medium● Low

Page 19: Recommendation system for code bugs.

9.Comparing CoS for all defects

Each New Defect Compared against all defects defined in the database. Those with Highest CoS are extracted .

Page 20: Recommendation system for code bugs.

10. Effort Estimate

COS > threshold

ES -> ∑ CoSi * DTi / nWhere n - > No Of Similar Defects DTi : Developer Time

Programmer ProficiencyPriority of Defect

If CoS = 1 : Duplicate Defect Discard

Page 21: Recommendation system for code bugs.

References

● https://issues.apache.org● http://menzies.us/pdf/11ase.pdf● Local vs. Global Models for Effort Estimation and Defect

Prediction , Tim Menzis , Andrian Marcus● Towards Improving Bug Tracking Systems with Game

Mechanisms ,Leonardo Pasos ,University of Waterloo