Doe Bug Prediction Support Human Developers? Findings From a Google Case Study Chris Lewis, ZhongPeng Lin, Caitlin Sadowski, Xiaoyan Zhu, Rong Ou, E.James.

Slides:



Advertisements
Similar presentations
Better Software Defect Prediction Using Equalized Learning With Machine Learners Kim Kaminsky Gary D. Boetticher Department of Computer Science University.
Advertisements

Collaborative QoS Prediction in Cloud Computing Department of Computer Science & Engineering The Chinese University of Hong Kong Hong Kong, China Rocky.
Automatic Resource Scaling for Web Applications in the Cloud Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer Science.
Transfer Learning for WiFi-based Indoor Localization
1 Software Maintenance and Evolution CSSE 575: Session 8, Part 3 Predicting Bugs Steve Chenoweth Office Phone: (812) Cell: (937)
Software Quality Metrics
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Large Scale Findability Analysis Shariq Bashir PhD-Candidate Department of Software Technology and Interactive Systems.
Searching with Lucene Chapter 2. For discussion Information retrieval What is Lucene? Code for indexer using Lucene Pagerank algorithm.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
EXPERT SYSTEMS Part I.
Retrieval Evaluation. Introduction Evaluation of implementations in computer science often is in terms of time and space complexity. With large document.
Lesson 18: Configuring Application Restriction Policies
Software evolution.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Software Process and Product Metrics
Defect prediction using social network analysis on issue repositories Reporter: Dandan Wang Date: 04/18/2011.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Avalanche Internet Data Management System. Presentation plan 1. The problem to be solved 2. Description of the software needed 3. The solution 4. Avalanche.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Section 10: Assigning and Publishing Software Packages Using MSI Packages to Distribute Software Using Group Policy as a Software Deployment Method Deploying.
Division of IT Convergence Engineering Towards Unified Management A Common Approach for Telecommunication and Enterprise Usage Sung-Su Kim, Jae Yoon Chung,
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Regression Testing. 2  So far  Unit testing  System testing  Test coverage  All of these are about the first round of testing  Testing is performed.
Can We Predict Eat Out Behavior of a Person from Tweets and Check-ins? Md. Taksir Hasan Majumder ( ) Md. Mahabur Rahman ( ) Department of Computer.
© 2005 by IBM; made available under the EPL v1.0 | May 19, 2005 Tim deBoer WTP Server Tools Open House.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Software Quality Metrics
Lecture 4 Software Metrics
Automatic Identification of Bug-Introducing Changes. Presenter: Haroon Malik.
Dongkyun Kim and Francisco Olivera Zachry Department of Civil Engineering Texas A&M University American Society Civil Engineers Environmental and Water.
Job scheduling algorithm based on Berger model in cloud environment Advances in Engineering Software (2011) Baomin Xu,Chunyan Zhao,Enzhao Hua,Bin Hu 2013/1/251.
Estimating Component Availability by Dempster-Shafer Belief Networks Estimating Component Availability by Dempster-Shafer Belief Networks Lan Guo Lane.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
به نام خدای مهربان زبان تخصصی دانشجویان کامپیوتر English for Computer Students درس 2 جوانمرد ejavanmard.blogfa.com
April 28, 2003 Early Fault Detection and Failure Prediction in Large Software Systems Felix Salfner and Miroslaw Malek Department of Computer Science Humboldt.
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
Using Social Network Analysis Methods for the Prediction of Faulty Components Gholamreza Safi.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Multi-Abstraction Concern Localization Tien-Duy B. Le, Shaowei Wang, and David Lo School of Information Systems Singapore Management University 1.
WS-DREAM: A Distributed Reliability Assessment Mechanism for Web Services Zibin Zheng, Michael R. Lyu Department of Computer Science & Engineering The.
Chapter 2: Software Maintenance Omar Meqdadi SE 3860 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Discovery and Systems Health Technical Area NASA Ames Research Center - Computational Sciences Division Automated Diagnosis Sriram Narasimhan University.
Feb 24-27, 2004ICDL 2004, New Dehli Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
1 Ch 17: Alternative Decision-Support Systems. 2 What is an expert system? ‘The modeling, within a computer, of expert knowledge in a given domain, such.
Transfer and Multitask Learning Steve Clanton. Multiple Tasks and Generalization “The ability of a system to recognize and apply knowledge and skills.
Investigating QoS of Web Services by Distributed Evaluation Zibin Zheng Feb. 8, 2010 Department of Computer Science & Engineering.
Learning A Better Compiler Predicting Unroll Factors using Supervised Classification And Integrating CPU and L2 Cache Voltage Scaling using Machine Learning.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection of License Inconsistencies in Free and.
Chapter 9 Estimation using a single sample. What is statistics? -is the science which deals with 1.Collection of data 2.Presentation of data 3.Analysis.
Experience Report: System Log Analysis for Anomaly Detection
A Collaborative Quality Ranking Framework for Cloud Components
Testability.
Estimate Testing Size and Effort Using Test Case Point Analysis
Different Types of Testing
How to Predict More with Less: Defect Prediction Using Machine Learners in an Implicitly Data Starved Domain Kim Kaminsky Gary D. Boetticher Department.
5 Optimization Techniques for WordPress Websites.
A code metric tool for Software Engineering
Software metrics.
Visualizing the Attracting Structures Results and Conclusions
Towards Unified Management
© Oxford University Press All rights reserved.
Presentation transcript:

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 Cruz Google Inc. Xi’an Jiaotong University

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

Three QuestionsThree 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?

Algorithm ChoiceAlgorithm 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

Project ChoiceProject Choice

User StudiesUser 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

Results

Results

Results

Results

Q2: desirable characteristicsQ2: 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

Time-Weighted Risk Algorithm ( TWR )  Modify Rahman  i: bug-fixing commit  n: number of bug-fixing commit  t i : normalized time of the current bug-fixing commit  w: how strong the decay should be

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

Results

Conclusion  Failure due to TWR  No actionable means of removing the flag

Transfer Defect LearningTransfer Defect Learning Jaechang Nam, Sinno Jialin Pan, Sunghun Kim Department of Computer Science and Engineering The Hong Kong University of Science and Technology, China Institute for Infocomm Research, Singapore

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

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.

TCA

TCA+  Choose Normalization options automatically

Rules  5 rules

Process

Experiment ProjectsExperiment Projects  ReLink  Apache HTTP Server  OpenIntents Safe  Zxing  AEEEM  Equinox  Eclipse JDT Core  Apache Lucene  Mylyn  Eclipse PDE UI

TCA with different normalization options

TCA+

Contributions  First to observe improved prediction performance by applying TCA for cross-project defect prediction  Proposed TCA+