icse 2013 bug prediction session
DESCRIPTION
ICSE 2013 Bug Prediction Session. Does Bug Prediction Support Human Developers? Findings From a Google Case Study Transfer Defect Learning. Doe Bug Prediction Support Human Developers? Findings From a Google Case Study. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/1.jpg)
ICSE 2013 Bug Prediction
Session
• Does Bug Prediction Support Human Developers? Findings From a Google Case Study
• Transfer Defect Learning
![Page 2: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/2.jpg)
Doe Bug Prediction Support Human Developers? Findings
From a Google Case Study
Chris Lewis, ZhongPeng Lin, Caitlin Sadowski, Xiaoyan Zhu, Rong Ou, E.James Whitehead Jr.
University of California, Santa CruzGoogle Inc.
Xi’an Jiaotong University
![Page 3: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/3.jpg)
Motivations
Little empirical data validating that areas predicted to be bug-prone match the expectations of expert developers
Little data showing whether the information provided by bug prediction algorithms leads to modification of developer behavior
![Page 4: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/4.jpg)
Three Questions
Q1: According to expert opinion, given a collection of bug prediction algorithms, how many bug-prone files do they find and which algorithm is preferred?
Q2: What are the desire characteristics a bug prediction algorithm should have?
Q3: Using the knowledge gained from the other two questions to design a likely algorithm, do developers modify their behavior when presented with bug prediction results?
![Page 5: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/5.jpg)
Algorithm Choice
FixCache If a file is recently changed, it is likely to contain faults If a file contains a fault, it is likely to contain more faults Files that change alongside faulty files are more likely to
contain faults LRU Problem: 10% of files, no severity
Reduce the cache size to 20
Order the cache by duration( total commits )
Rahman
![Page 6: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/6.jpg)
Project Choice
![Page 7: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/7.jpg)
User Studies
19 interviewees ( A: 9 B: 10 )
3 lists of files
Choices: Bug-prone Not bug-prone No strong feelings either way about No experience with the file
![Page 8: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/8.jpg)
Results
![Page 9: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/9.jpg)
Results
![Page 10: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/10.jpg)
Results
![Page 11: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/11.jpg)
Results
![Page 12: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/12.jpg)
Q2: desirable characteristics
Actionable( take clear steps that will result in the area no longer being flagged )
Obvious reasoning
Bias towards the new file
Parallelizable
Effectiveness scaling
![Page 13: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/13.jpg)
Time-Weighted Risk Algorithm ( TWR )
Modify Rahman
i: bug-fixing commit
n: number of bug-fixing commit
ti: normalized time of the current bug-fixing commit
w: how strong the decay should be
![Page 14: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/14.jpg)
Experiment
Mondrian ( code review software ) + lint
Duration: 3 months in Google Inc.
Metrics: The average time a review containing a bug-
prone file takes from submission to approval The average number of comments on a review
that contains a bug-prone file
![Page 15: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/15.jpg)
Results
![Page 16: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/16.jpg)
Conclusion
Failure due to TWR
No actionable means of removing the flag
![Page 17: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/17.jpg)
Transfer Defect Learning
Jaechang Nam, Sinno Jialin Pan, Sunghun KimDepartment of Computer Science and Engineering
The Hong Kong University of Science and Technology, ChinaInstitute for Infocomm Research, Singapore
![Page 18: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/18.jpg)
Motivations
Poor cross-project prediction performance Same feature space Different data distribution
On the basis of transfer learning, propose transfer defect learning. Modify existing method: TCA( Transfer Component Analysis )
TCA is sensitive to normalization
![Page 19: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/19.jpg)
TCA
TCA tries to learn a transformation to map the original data of source and target domains to a latent space where the difference between domains is small and the data variance after transformation is large.
![Page 20: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/20.jpg)
TCA
![Page 21: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/21.jpg)
TCA+
Choose Normalization options automatically
![Page 22: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/22.jpg)
![Page 23: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/23.jpg)
Rules
5 rules
![Page 24: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/24.jpg)
Process
![Page 25: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/25.jpg)
Experiment Projects
ReLink Apache HTTP Server OpenIntents Safe Zxing
AEEEM Equinox Eclipse JDT Core Apache Lucene Mylyn Eclipse PDE UI
![Page 26: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/26.jpg)
TCA with different normalization options
![Page 27: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/27.jpg)
![Page 28: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/28.jpg)
![Page 29: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/29.jpg)
TCA+
![Page 30: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/30.jpg)
![Page 31: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/31.jpg)
![Page 32: ICSE 2013 Bug Prediction Session](https://reader036.vdocuments.us/reader036/viewer/2022062301/568150bb550346895dbed7c0/html5/thumbnails/32.jpg)
Contributions
First to observe improved prediction performance by applying TCA for cross-project defect prediction
Proposed TCA+