64
An Automated Approach to Assign Software Change Requests Ph.D. Thesis Yguarat˜ a Cerqueira Cavalcanti Centro de Inform´ atica – UFPE March 20, 2014

AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Embed Size (px)

DESCRIPTION

Slides of my Ph.D. presentation on March 2014.

Citation preview

Page 1: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

An Automated Approach to Assign SoftwareChange Requests

Ph.D. Thesis

Yguarata Cerqueira Cavalcanti

Centro de Informatica – UFPE

March 20, 2014

Page 2: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Agenda

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 3: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 4: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Change Management

Every software project changes (1st Lehman’s law)

user needsdefectsnew functionalities

Changes are made during software development or after release(software maintenance and evolution)

Changes need to be managed, instead you lose control

component versionssoftware versions (different clients)

1/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 5: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Change Requests (CRs)

CR describes a defect to be fixed, an adaptive orperfective change, or a new functionality.

CRs are stored and managed through CR Repositories.

2/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 6: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

CR Assignment

3/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 7: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Why CR Assignment Matters?

Select developers considering the low fixing time yet keepingsatisfactory quality

Needs good knowledge on the project

However, dozens to hundreds CRs daily

Labor-intensive and time consuming

Susceptible to mistakes

37%-44% of CRs did not reach the right developer

Reassignments (rework!)

4/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 8: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Why CR Assignment Matters?

Select developers considering the low fixing time yet keepingsatisfactory quality

Needs good knowledge on the project

However, dozens to hundreds CRs daily

Labor-intensive and time consuming

Susceptible to mistakes

37%-44% of CRs did not reach the right developer

Reassignments (rework!)

4/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 9: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Why CR Assignment Matters?

Select developers considering the low fixing time yet keepingsatisfactory quality

Needs good knowledge on the project

However, dozens to hundreds CRs daily

Labor-intensive and time consuming

Susceptible to mistakes

37%-44% of CRs did not reach the right developer

Reassignments (rework!)

4/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 10: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Why CR Assignment Matters?

Select developers considering the low fixing time yet keepingsatisfactory quality

Needs good knowledge on the project

However, dozens to hundreds CRs daily

Labor-intensive and time consuming

Susceptible to mistakes

37%-44% of CRs did not reach the right developer

Reassignments (rework!)

4/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 11: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Research Objective

To propose an automated approach for CR assignment

Information Retrieval (IR) models

Rule-based expert systems

Context-aware information

5/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 12: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Research Methodology

6/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 13: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 14: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Systematic Mapping Study

The process

1 Research questions

2 Searches in the literature (protocol)

3 Selection of papers, tools, and services

4 Classification (two schemes)

5 Analysis and synthesis of the results

7/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 15: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Research Questions

Defined two questions for the mapping study

Question 1 – What are the current challenges andopportunities regarding CR repositories and how do theyimpact software development?

Question 02 – Do the tools and online services for CRmanagement address any of the challenges pointed out asa result of the answers to Question 01? If so, how do theyaddress such challenges?

8/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 16: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Research Questions

Defined two questions for the mapping study

Question 1 – What are the current challenges andopportunities regarding CR repositories and how do theyimpact software development?

Question 02 – Do the tools and online services for CRmanagement address any of the challenges pointed out asa result of the answers to Question 01? If so, how do theyaddress such challenges?

8/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 17: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Research Questions

Defined two questions for the mapping study

Question 1 – What are the current challenges andopportunities regarding CR repositories and how do theyimpact software development?

Question 02 – Do the tools and online services for CRmanagement address any of the challenges pointed out asa result of the answers to Question 01? If so, how do theyaddress such challenges?

8/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 18: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Criteria

Inclusion:Theory, practice, and approaches

CR artifacts written in natural language

Unique studies

Exclusion:summaries of tutorial or workshop

posters

keynotes

studies with no scientific analysis

studies published in unknown sources

9/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 19: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Searches

SEARCH ENGINES

Automated: Google, ACM, IEEE, Citeseer, Elsevier, Scirus,ScienceDirect, Scopus, ISI, SpringerLink, and Wiley

Manual: DBLP

KEYWORDS

Bug report, change request, modification request, defect track,software issue, bug tracking

STUDIES SELECTION

1150→ superficial reading → 321→ full reading → 142

10/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 20: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Tools Selection and Analysis

Tools Online Services

Bugzilla http://www.bugzilla.org SourceForge http://www.sourceforge.net

MantisBT http://www.mantisbt.org Launchpad http://www.launchpad.net

Trac http://trac.edgewall.org Code Plex http://www.codeplex.com

Redmine http://www.redmine.org Google Code http://code.google.com

Jira http://www.atlassian.com GitHub http://www.github.com

Do they address any of the challenges?

How?

11/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 21: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Classification Schemes

Classification Scheme 1: created a taxonomy for Researchareas and topics

Classification Scheme 2: used a taxonomy for InformationRetrieval models

12/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 22: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Classification Scheme 1

Taxonomy for Challenges and Opportunities

13/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 23: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Classification Scheme 2

Information Retrieval (IR) Taxonomy

Representation Reasoning RepositoryQuery Document

With logic

Withuncer-tainty

With learning

CR

s(e

.g.

Bu

gzill

a)

Com

mit

Log

(e.g

.C

VS

,S

VN

)

Sou

rce

Co

de

Key

wor

d-b

ased

Pat

tern

-bas

ed

Str

uct

ura

l

Str

eam

ofC

har

acte

rs

Vec

tor

Sp

ace

Str

uct

ura

l

Log

ic

Alg

ebra

Gra

ph

Th

eori

es

Pro

bab

ility

Th

eori

es

Fu

zzy

Set

Th

eori

es

Neu

ral

Net

wor

k

Sym

bol

icL

earn

ing

Su

pp

ort

Vec

tor

Mac

hin

es

Dec

isio

nT

rees

/Tab

le

Laz

yL

earn

ing

Bay

esia

nS

tati

stic

s

Gen

etic

Alg

orit

hm

s

Reg

ress

ion

An

alys

is

Lea

rnto

Ran

k

Table: Taxonomy for the classification of the IR models and techniquesused in each approach. This is an extension of the taxonomy created byCanfora and Cerulo [1].

14/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 24: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Concluding Remarks from the Review

Automated and Semi-Automated approaches for CRchallenges

Combinations of software repositories

Possibility of mixing up the approaches

Lack of contextual information in the approachesI.e.: CR assignment needs workload, developer knowledge,priority, and politics issues

Difficulty in assessing the approaches

State-of-the-art still far from the state-of-the-practice

15/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 25: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 26: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Survey’s Research Questions

RQ1. How much time does the CR Assignment activitiestake? (amount of CRs, individual time, and reassignments)

RQ2. What are the strategies used to assign CRs to theappropriate developers?

RQ3. What is the complexity involved in assigning CRs todevelopers?

16/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 27: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Questionnaire

38 questions

8 open-ended

30 closed-ended (mostLikert-scaled)

Three steps validation

17/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 28: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Questionnaire

38 questions

8 open-ended

30 closed-ended (mostLikert-scaled)

Three steps validation

17/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 29: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Population Sample

Around 400 software developers from Brazilian FederalOrganization for Data Processing (SERPRO)

From three main sites in the south of Brazil

Porto Alegre, Florianopolis, and Curitiba

18/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 30: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Responses

Periodically remainder emails

38 responses out of 400 (9%)

Is it enough? Yes!

In SERPRO, project leaders and managers are likely to havethe desired profile

19/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 31: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Data Analysis I

RQ1. How much time does a CR assignment take?

It is common to assign almost 20 CRs per day

Each CR takes around 5 to 10 minutes to be assigned

Reassigning CRs is not so frequent in the SERPROorganization

20 CRs ∗ 10 min = 3.3 hours (per developer/day)

Plus reassignments (±10 minutes)

For bigger projects and open source it gets worse

20/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 32: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Data Analysis II

RQ2. What are the strategies used to assign CRs?

1 Consider workload

2 Severity and criticality

3 Talk to developers before assignment

4 Select developers with more familiarity on the problem

5 Select developers who have solved similar CRs

6 Developers with better knowledge on the project

7 Developers who master the tools

8 Affinity

21/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 33: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Data Analysis III

RQ3. What is the complexity involved in assigning CRs?

According to the strategies, CR assignments require:

Good knowledge on the project(s)

The ability of communicating to other people

The ability of information seeking in different repositories

The capability to retain the knowledge that is acquired duringthis cognitive process

Assign CRs to different teams

Assign CRs to different projects

22/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 34: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Survey Replication

Application of the same survey design

Dataprev

Instituto Reconcavo de Tecnologia (IRT)

Confirmation of initial results

23/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 35: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 36: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

The Solution

An Automated Approach to AssignSoftware Change Requests

24/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 37: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Requirements

CRs must be assigned according to their

severity and criticality

workload of developers

developers experience

interpersonal relationships

rely on contextual information (software repositories)

25/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 38: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Strategy to Automated CR Assignment

26/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 39: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Rule-Based Expert System (RBES)

rule "Critical CRs, or CRs for module C"

when

$cr: ChangeRequest(severity == CRITICAL || module =="C")

then

$cr.assignTo(developer("[email protected]"))

end

rule "Change Requests for modules A and B"

when

$cr: ChangeRequest(module =="A" || module =="B")

then

$cr.assignTo(availableDeveloper(Workload.WEIGHTED ))

end

27/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 40: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Information Retrieval Model With Learning

Support Vector Machine (SVM)

Training (Black arrows)

Recommendation (Gray arrows)

10-fold cross-validation

28/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 41: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 42: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Questions

Q1: What is the accuracy of the proposed approach forautomated CR assignment?

Q2: What is the necessary effort to setup the approach in asoftware development project?

Q3: Does the achieved accuracy pay the necessary effortneeded in the setup?

29/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 43: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Experiment Design

Proposed approach versus pure SVM

Proposed approach: SVM, expert system and context

30/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 44: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Experiment Design

Proposed approach versus pure SVM

Proposed approach: SVM, expert system and context

30/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 45: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Hypotheses

Null Hypothesis

H0: µ(accuracy with our approach) <= µ(accuracy with SVM)

µ(payoff with our approach) <= µ(payoff with SVM)

Alternative Hypothesis

H1: µ(accuracy with our approach) > µ(accuracy with SVM)

µ(payoff with our approach) > µ(payoff with SVM)

31/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 46: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Hypotheses

Null Hypothesis

H0: µ(accuracy with our approach) <= µ(accuracy with SVM)

µ(payoff with our approach) <= µ(payoff with SVM)

Alternative Hypothesis

H1: µ(accuracy with our approach) > µ(accuracy with SVM)

µ(payoff with our approach) > µ(payoff with SVM)

31/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 47: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Testing dataset

CRs from two modules of Novo SIAFI project (SERPRO)

Module A = 781 CRs

Module B = 1031 CRs

32/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 48: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Configuration of the Proposed Approach

Rules extraction

Interviews with 4 workers and analysis of CR samples

Total of 14 rules

Context information

developers vacation

developers project allocation

developers experience

Assignment strategy configuration

1 execute simple rules

2 execute complex rules

3 SVM (instead of manual assignment)

33/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 49: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Configuration of the Proposed Approach

Rules extraction

Interviews with 4 workers and analysis of CR samples

Total of 14 rules

Context information

developers vacation

developers project allocation

developers experience

Assignment strategy configuration

1 execute simple rules

2 execute complex rules

3 SVM (instead of manual assignment)

33/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 50: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Configuration of the Proposed Approach

Rules extraction

Interviews with 4 workers and analysis of CR samples

Total of 14 rules

Context information

developers vacation

developers project allocation

developers experience

Assignment strategy configuration

1 execute simple rules

2 execute complex rules

3 SVM (instead of manual assignment)

33/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 51: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Configuration of the Proposed Approach

Rules extraction

Interviews with 4 workers and analysis of CR samples

Total of 14 rules

Context information

developers vacation

developers project allocation

developers experience

Assignment strategy configuration

1 execute simple rules

2 execute complex rules

3 SVM (instead of manual assignment)

33/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 52: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Results I

Q1. What is the accuracy of the proposed approach forautomated CR assignment?

New approach: Module A = 45% and Module B = 34%

SVM: Module A = 38% and Module B = 23%

An improvement of 18% on Module A and 48% on B

Null hypothesis refuted

34/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 53: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Results II

Q2. What is the necessary effort to setup the approach in asoftware development project?

38 hours (rule extraction, context information, strategy)

Q3. Does the achieved accuracy pay the necessary effortneeded in the setup?

10 minutes for each CR assigned

SVM saved 89 hours

New approach saved 117 hours

Economy of 28 hours vs. 38 hours for setup

Null hypothesis not refuted (for this context!)

35/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 54: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Threats to the Validity

Generalization of the results (only CRs from one project)

Variety of metrics (Precision, Recall, and F-measure)

SVM learning process (quality of text data)

Difficult to assess the configuration time (trial and error forrules extraction)

Implementation of the approach (bug-free?)

36/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 55: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

1 Introduction

2 Literature Review

3 Survey on CR Assignment

4 Proposal

5 Experiment

6 Conclusions

Page 56: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Conclusions I

Research Contribution

Mapping study on CR repositories investigation

Questionnaire-based survey with practitioners

An approach for automated CR assignment

Validation of the approach

Tools

Prototype and plugins

Test bed for new research

37/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 57: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Conclusions II

Academic Contributions

Cavalcanti, Y. C., Neto, P. A. D. M. S., Machado, I. D. C., de Almeida, E. S.,

and de Lemos Meira, S. R. (2013b). Towards Understanding Software ChangeRequest Assignment: A survey with practitioners.In Proceedings of the 17th International Conference on Evaluation andAssessment in Software Engineering (EASE’2013), pages 195–206

Cavalcanti, Y. C., da Mota Silveira Neto, P. A., do Carmo Machado, I., Vale,

T. F., de Almeida, E. S., and de Lemos Meira, S. R. (2013a). Challenges andOpportunities for Software Change Request Repositories: a systematic mappingstudy.Journal of Software: Evolution and Process.Online first

More publications are under work: CBSoft’2014 tool session,ICSME’2014, JSEP journal

38/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 58: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

Outline Introduction Literature Review Survey on CR Assignment Proposal Experiment Conclusions

Conclusions III

Future work

Investigate new algorithms for workload balancing

Investigate methods and techniques for automatic extraction ofassignment rules

Perform new experimental studies

Address other issues of CR management

39/39 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 59: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

An Automated Approach to Assign SoftwareChange Requests

Ph.D. Thesis

Yguarata Cerqueira Cavalcanti

Centro de Informatica – UFPE

March 20, 2014

Page 60: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

References

Lotka’s Law

Few developers fix the most of CRs

1/5 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 61: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

References

The Problem’s Characteristics

There are complex factors which influence CR assignment

Factors vary from one organization to another

Such as developers’ workload, CRs attributes, interpersonalrelationships, and developers know-how

Consider different rules for the assignments

Thus, automated approaches should be context-aware

2/5 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 62: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

References

Component Diagram of the Solution

3/5 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 63: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

References

Prototype Tool Architecture

4/5 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests

Page 64: AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)

References

References I

[1] Canfora, G. and Cerulo, L. (2004). A taxonomy of informationretrieval models and tools. Computing and InformationTechnology , 12(3), 175–194.

[2] Cavalcanti, Y. C., da Mota Silveira Neto, P. A.,do Carmo Machado, I., Vale, T. F., de Almeida, E. S., andde Lemos Meira, S. R. (2013a). Challenges and Opportunities forSoftware Change Request Repositories: a systematic mappingstudy. Journal of Software: Evolution and Process. Online first.

[3] Cavalcanti, Y. C., Neto, P. A. D. M. S., Machado, I. D. C.,de Almeida, E. S., and de Lemos Meira, S. R. (2013b). TowardsUnderstanding Software Change Request Assignment: A surveywith practitioners. In Proceedings of the 17th InternationalConference on Evaluation and Assessment in SoftwareEngineering (EASE’2013), pages 195–206.

5/5 Yguarata Cerqueira Cavalcanti An Automated Approach to Assign Software Change Requests