recommendation systems for issue management

36
Lund University - cs.lth.se/markus_borg/ Recommendation Systems for Issue Management MARKUS BORG, SOFTWARE ENGINEERING RESEARCH GROUP

Post on 13-Sep-2014

161 views

Category:

Science


1 download

DESCRIPTION

Presentation of research on recommendation systems for bug management in large software engineering projects. Contains a background and some highlights from my own research. Target audience: industry practitioners

TRANSCRIPT

Page 1: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Recommendation Systems for Issue ManagementMARKUS BORG, SOFTWARE ENGINEERING RESEARCH GROUP

Page 2: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

• PhD student 2010-• Software engineering• Requirements-test alignment• Member of SWELL

• Supervisor: Per Runeson

Markus Borg

Per Runeson

• MSc CS and Eng. 2007• Developer, ABB (2007-2010)

• Compiler and editor development• Safety-critical systems• Embedded development

Page 3: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Agenda

• Background– Bug report inflow in large projects– Recommendation systems

• Overview of some ongoing bug research– Duplicate detection– Team assignment– Effort prediction– Change impact analysis

Page 4: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

There Will Be Bugs!

Page 5: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Issue Reports as Batons in the Development “Relay Race”

Release

Change Board

Project managerTester

Issue handover

Developer

Developer Tester

Developer

Architect

Analyst

Designer

Page 6: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Challenges in the Bug Overflow

• 10 000s of bug reports in large projects– Continous inflow of bug reports– Limited resources to deal with it

• Q1. Which issues do we already know about?• Q2. Who should investigate the issue?• Q3. How long time will it take to correct this bug?• Q4. If we make a corrective change, what is the impact?

Page 7: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Recommendation System

• General definition

“a software application that aim to support users in their decision-making while interacting with large information spaces”

– Amazon, Netflix, RateBeer, Filmtipset...

• In software engineering”a software application that provides information items estimated to be valuable for a software engineering task in a given context”

Page 8: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Two main approaches to recommendations

Bug example

Page 9: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Q1. Which issues do we already know about?

Duplicate Detection

Page 10: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Issue Duplicate Detection

Page 11: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Network Analysis of Bug Reports

Page 12: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Subgraph Analysis in Bug Networks

Bug star

One central bug report pointing at several others

Dense ringMost bug reports are connected

Page 13: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Textual Similarity Analysis

1. Study natural language content

2. Calculate overlap

3. Recommend duplicates

Page 14: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Calculating Textual Similarity

Issue reports

Represent

Calculate angles in vector space

Page 15: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Reported Results

• Results typically reported as:– ”% found among top 10 recommendations”

• Sony Ericsson 40%• Firefox 60%, 90%• Eclipse 40%, 70%• Open Office 60%, 65%• Mozilla Foundation 45%, 65%• Android 60% (Jens?)

• Are these good results? Good question.

Page 16: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Q2. Who should investigate the issue?

Team assignment

Page 17: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Bug Assignment

Bug tossing!

Page 18: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Machine Learning to Find Patterns

• Bugs found in India late in testing phase are severe?• Bugs reports containing term ”termination” are costly?• Bugs reported on fridays with attached stack traces tend to

be deferred to later releases?

Page 19: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Automated Bug Assignment – Supervised Machine Learning

Machine learning

Train

Recommend team

Page 20: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

How to Represent a Bug Report?

• Function• Severity• System Version• Submit Date• Submitter Location

etc.• … And the text! Title and description.

Page 21: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Experimental Setup

Ericsson

Company A

Machine learning

4 x

Pre-processing & feature selection

25-35 teams to choose between!

Page 22: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Results

• Prediction accuracy using state-of-the-art machine learning:– Ericsson 30-70%– Company A 30%

• At Ericsson– In line with accuracy of human assignment– Deploying tool in selected projects

• Textual features improve predictions, but training times increase a lot!– Working on finding a good balance

Page 23: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Q3. How long time will it take to correct this bug?

Effort prediction

Page 24: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Bug Report Clustering – Unsupervised Machine Learning

Automatically cluster bug reports based on natural language in report

Page 25: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Prediction of Bug Resolution Time

1. A new bug is submitted

2. Put it in the right cluster

3. Predict its resolution time

Page 26: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Results

• Clustered bug reports based on textual content– Android– Eclipse– Company A

• Average resolution times in bug clusters are different– Statistically significant

• Is it a good way to predict resolution times?– No, at least not yet…

Page 27: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Q4. If we make a corrective change, what is the impact?

Change impact analysis

Page 28: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Recommendations for Impact Analysis

Mandated by safety standards!

Reqs.Tests

Page 29: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Networks of Impacted Artifacts

Data mining in archive of previous impact analysis reports

Page 30: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Identification of Key Artifacts

Page 31: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Recommend Possible Impact

1. Textual similarity analysis

2. Follow links in network

Page 32: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Recommend Possible Impact

3. Rank recommendations– Network statistics– Textual similarity

Page 33: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Page 34: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Results

• Experiments in a laboratory setting– 30% of previous impact among top 5 recommendations– 40% among top 10 recommendations

• Prototype evaluation in industrial setting ongoing...

Page 35: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Summary

Page 36: Recommendation Systems for Issue Management

Lund University - cs.lth.se/markus_borg/

Summary

• Issue inflow in large projects can be daunting

• On the other hand, issue reports contain important information!

• With the right tools, the information overflow can be tamed to recommendations!