SlideShare a Scribd company logo
Who is going to Mentor Newcomers
in Open Source Projects?

Gerardo
Canfora

Massimiliano
Di Penta

Rocco
Oliveto

Sebastiano
Panichella
Context and Motivations
• Software Development

How?

• Training via Mentoring

Case Study

•Explorative analysis
•Recommendation system evaluation
Training Project Newcomers
With a GOOD
TRAINING

Can immediately
start to work
ACTIVELY

Newcomer
Previous Work...
Newcomer

Low
Sociability

Better
training from
Senior Developers
Zhou and Mockus
Previous Work...
Newcomer

MENTOR

Mentoring of
project newcomers
is highly desirable
Dagenais et al.
Characteristics of a good Mentor
Sources of Information

SVN
GIT CVS
Mentoring Small/large Projects
Small Projects: find Mentors
is a trivial problem

Large Projects: : find Mentors
is not a trivial problem

.........
YODA
(Young and newcOmer Developer Assistant)

Approach for
Mentors Identification
in Open Source Projects
YODA: two pashes

What factor can be
used to identify
mentors?

SVN
GIT CVS

?
RQ1: Identify past mentors
What factor can be used
to identify mentors?
How does Arnetminer works?
Ranks pairs of researchers according to four factors:
f1: they published
Many papers
Together
f2: advisor published
More than the
Student
f3: advisor older
than the student
f4: student published
her first paper(s)
with the advisor
Heuristics to identify Mentors
F1: Exchanged emails

Time
Heuristics to identify Mentors
F1: Exchanged emails

Time

When Alice joins
the project
Heuristics to identify Mentors
F2: overall amount of emails
Heuristics to identify Mentors
F2: overall amount of emails
Heuristics to identify Mentors
F2: overall amount of emails
Heuristics to identify Mentors
F3: project age
Heuristics to identify Mentors
F3: project age

Time
Heuristics to identify Mentors
F4: newcomer early emails
Heuristics to identify Mentors
F4: newcomer early emails

Time

First emails by Alice in the
project
Heuristics to identify Mentors
F5: Commits
Heuristics to identify Mentors
F5: Commits

When Alice joins
the project

Time
Aggregating the factors
What factors can be used
to identify mentors?

5

w f
i 1

i i
Recommend Mentors

Time
Recommend Mentors

Time
Recommend Mentors

Time

t
Recommend Mentors

Mentor with
adequate skills

Time

t
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time

t
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time

t
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time

t
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time

t
Recommend Mentors
Inspired to the work
On Bug Triaging
by J. Anvik et al.
2011

Time

t

DICE
SIMILARITY
Empirical Study
• Goal: analyze data from mailing lists and versioning
systems
• Purpose: investigating which factors can be used to
identify mentors
• Quality focus: recommend mentors in software
projects
• Context: mailing lists and versioning systems of five
software
 Apache, FreeBSD, PostgreSQL, Python and Samba
Context
Training and Test sets for evaluating Yoda.
Apache

FreeBSD

PostgreSQL

Python

Samba

Period
(Training set)

08/2001-03/2002

11/1998-02/2000

10/1998-05/2001

05/2000-05/2001

04/1998-09/2000

Period
(Test set)

04/2002-12/2008

03/2000-10/2008

06/2001-03/2008

06/2001-12/2008

10/2000-12/2008

# of Mentors
(Training set)

19

65

10

28

17

# of
Newcomers
(Training set)

13

33

8

32

33

# of
Newcomers
(Test set)

13

33

7

31

33
Research Questions

?
RQ1: How can we identify mentors from the past

history of a software project?

COUPLES

SCORE

5

2.5

1.5

1.5

1.5

1.5

1.5
……….

……….

w f
i 1

i i
RQ1: How can we identify mentors from the past

history of a software project?

COUPLES

SCORE

5

w f

2.5

i 1

1.5

1.5

1.5

1.5

1.5
……….

……….

Manual
Validation

i i
RQ1: How can we identify mentors from the past

history of a software project?

Possible
Configurations

100%
90%

f1

80%

Precision

70%
60%
50%
40%

30%
20%
10%
0%
18

19

20

21

22

23

Number of newcomer‐mentor pairs

24
RQ1: How can we identify mentors from the past

history of a software project?

Possible
Configurations

100%
90%

f1 +f2+ f3

80%

Precision

70%
60%
50%
40%

30%
20%
10%
0%
18

19

20

21

22

23

Number of newcomer‐mentor pairs

24
RQ1: How can we identify mentors from the past

history of a software project?

Possible
Configurations

100%
90%

f1 +f2+ f4

80%

Precision

70%
60%
50%
40%

30%
20%
10%
0%
18

19

20

21

22

23

Number of newcomer‐mentor pairs

24
RQ1: How can we identify mentors from the past

history of a software project?

Possible
Configurations

100%
90%

f5

80%

Precision

70%
60%
50%
40%

30%
20%
10%
0%
18

19

20

21

22

23

Number of newcomer‐mentor pairs

24

(Baseline)
RQ1: How can we identify mentors from the past
Apache

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

Precision

Precision

history of a software project?

18

19

20

21

22

23

24

Number of newcomer‐mentor pairs

f1

f1 +f2+ f3

PostgreSQL

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
12

14

16

18

20

22

Number of newcomer‐mentor pairs

f1 +f2+ f4

f5(Baseline)
RQ1: How can we identify mentors from the past
Apache

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

Precision

Precision

history of a software project?

18

19

20

21

22

23

24

Number of newcomer‐mentor pairs

f1

f1 +f2+ f3

PostgreSQL

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
12

14

16

18

20

22

Number of newcomer‐mentor pairs

f1 +f2+ f4

f5(Baseline)
RQ1: How can we identify mentors from the past

history of a software project?

Precision

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

FreeBSD

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
23

24 26 28 30 32 34 36 38 40 42 44 46 48

25

Samba

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
30

27

29

31

33

35

37

39

Number of newcomer‐mentor pairs

Number of newcomer‐mentor pairs

Precision

Precision

Python

32

34

36

38

40

42

Number of newcomer‐mentor pairs

41
RQ1: How can we identify mentors from the past

history of a software project?

Precision

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

USEFUL FACTORS FOR
MENTORS IDENTIFICATION

FreeBSD

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
23

24 26 28 30 32 34 36 38 40 42 44 46 48

Number of newcomer‐mentor pairs
f1

25

Samba

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

30

27

29

31

33

35

37

39

Number of newcomer‐mentor pairs

0.5*f1 + 0.25*f2 + 0.25*f3
0.5*f1 + 0.25*f2 + 0.25*f4
Precision

Precision

Python

32

34

36

38

40

42

Number of newcomer‐mentor pairs

41
RQ2: To what extent would it be possible to

recommend mentors to newcomers joining a
software project?
RQ2: To what extent would it be possible to

recommend mentors to newcomers joining a
software project?
RQ2: To what extent would it be possible to

recommend mentors to newcomers joining a
software project?

YODA make it is possible
possible to recommend
Mentors
Why don’t just using
Top Committers?
Why don’t just using
Top Committers?
Why don’t just using
Top Committers?

Not all Committers Are
Good Mentors
Surveying Projects Developers
Questions Asked:

- Done/received mentoring

- Perceived importance of mentoring

- What makes a good Mentor
Sent to 114 Subjects…
Samba

.....
37

FreeBSD

.....
37

PostgreSQL
Python

.....
15

.....
23

Apache

.....
23
Obtained Answare…
Samba

FreeBSD
PostgreSQL
Python

Apache

-
Done/received mentoring?
Had a mentor?

58%

Did mentoring?

42%

92%

0%

8%

20% 40% 60% 80% 100%
YES NO
Done/received mentoring?
Had a mentor?

58%

42%

Yes, I received
Mentoring. My
mentor was…

Yes, I did
mentoring…

>

Did mentoring?

0%

92%

8%

20% 40% 60% 80% 100%
YES NO
Perceived importance of mentoring
Useless at all

0%
0%

Not important

0%
0%

Neutral

11%
45%
56%

Important
Very important
0%
Effect of mentor

36%
33%
18%

20%
40%
60%
Effect on newcomer
Perceived importance of mentoring
Useless at all

0%
0%

Not important

0%
0%

Neutral

11%
45%
56%

Important
Very important
0%
Effect of mentor

36%
33%
18%

20%
40%
60%
Effect on newcomer
Perceived importance of mentoring
Useless at all

0%
0%

Not important

0%
0%

Neutral

11%
45%
56%

Important
Very important
0%
Effect of mentor

36%
33%
18%

20%
40%
60%
Effect on newcomer
Perceived importance of mentoring
Useless at all

0%
0%

Not important

0%
0%

11%
Is very important that
Neutral
mentor share knowledge
with a mentee…
Important

Very important
0%
Effect of mentor

45%
56%

36%
33%

18%

20%
40%
60%
Effect on newcomer
What makes a good Mentor
Others

0%

Project knowledge

38%

Communication skills
Experience

42%
19%
0% 10% 20% 30% 40% 50%
What makes a good Mentor
Others

0%

Project knowledge

38%

Communication skills
Experience

42%
19%
0% 10% 20% 30% 40% 50%
What makes a good Mentor
Others

0%

My knowledge
Project first Mentor

38%

had a very strong and
technical background

Communication skills
Experience

42%
19%
0% 10% 20% 30% 40% 50%
Conclusion
Conclusion
Conclusion
Conclusion
Conclusion
Future Work

More Related Content

What's hot

What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
What Programmers Say About Refactoring Tools? An Empirical Investigation of ...What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
UFPA
 
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
Preetha Chatterjee
 
Data Science HandsiOn - Progress
Data Science HandsiOn - ProgressData Science HandsiOn - Progress
Data Science HandsiOn - Progress
✪Computants✪IBM_BP
 
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
HASE – Human Aspects in Software Engineering
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
Ptidej Team
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
Ptidej Team
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Tao Xie
 

What's hot (7)

What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
What Programmers Say About Refactoring Tools? An Empirical Investigation of ...What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
What Programmers Say About Refactoring Tools? An Empirical Investigation of ...
 
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...
 
Data Science HandsiOn - Progress
Data Science HandsiOn - ProgressData Science HandsiOn - Progress
Data Science HandsiOn - Progress
 
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
2010 ICGSE - Challenges and Solutions in Distributed Software Development Pro...
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
 

Similar to 130719 sebastiano panichella - who is going to mentor newcomers in open source projects

Supporting Newcomers in Software Development Projects
Supporting Newcomers in Software Development ProjectsSupporting Newcomers in Software Development Projects
Supporting Newcomers in Software Development Projects
Sebastiano Panichella
 
1 deborah burton - why the testing community should care about dev ops
1   deborah burton - why the testing community should care about dev ops1   deborah burton - why the testing community should care about dev ops
1 deborah burton - why the testing community should care about dev ops
Ievgenii Katsan
 
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the worldAgile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Hiroyuki Ito
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software Development
Bahaa Farouk
 
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world  Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Rakuten Group, Inc.
 
Automatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow PostsAutomatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow Posts
Preetha Chatterjee
 
Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!
TechWell
 
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Caserta
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
Tao Xie
 
2014 State Of DevOps Findings! Velocity Conference
2014 State Of DevOps Findings! Velocity Conference2014 State Of DevOps Findings! Velocity Conference
2014 State Of DevOps Findings! Velocity Conference
Gene Kim
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
Atish Narlawar
 
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
Puppet
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
Rob Brown
 
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research pCh 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research p
MaximaSheffield592
 
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research pCh 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
nand15
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic Ukraine
 
Case: build an IT pool
Case: build an IT poolCase: build an IT pool
Case: build an IT pool
Jean-François Nguyen
 
discopen
discopendiscopen
discopen
Jisc
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
Ievgenii Katsan
 
DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013
DataMind-slides
 

Similar to 130719 sebastiano panichella - who is going to mentor newcomers in open source projects (20)

Supporting Newcomers in Software Development Projects
Supporting Newcomers in Software Development ProjectsSupporting Newcomers in Software Development Projects
Supporting Newcomers in Software Development Projects
 
1 deborah burton - why the testing community should care about dev ops
1   deborah burton - why the testing community should care about dev ops1   deborah burton - why the testing community should care about dev ops
1 deborah burton - why the testing community should care about dev ops
 
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the worldAgile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software Development
 
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world  Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
Agile2014 Report: As a Speaker and a Reporter of the latest Agile in the world
 
Automatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow PostsAutomatic Identification of Informative Code in Stack Overflow Posts
Automatic Identification of Informative Code in Stack Overflow Posts
 
Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!
 
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
2014 State Of DevOps Findings! Velocity Conference
2014 State Of DevOps Findings! Velocity Conference2014 State Of DevOps Findings! Velocity Conference
2014 State Of DevOps Findings! Velocity Conference
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
DevOps Means Business - Gene Kim, IT Revolution Press & Nicole Forsgren Velas...
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research pCh 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research p
 
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research pCh 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
 
Case: build an IT pool
Case: build an IT poolCase: build an IT pool
Case: build an IT pool
 
discopen
discopendiscopen
discopen
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
 
DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
Ptidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
Ptidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ptidej Team
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
Ptidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ptidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ptidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
Ptidej Team
 
MIPA
MIPAMIPA
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
Ptidej Team
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
Ptidej Team
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
Ptidej Team
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ptidej Team
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
Ptidej Team
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
Ptidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
manji sharman06
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 

Recently uploaded (20)

AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 

130719 sebastiano panichella - who is going to mentor newcomers in open source projects

  • 1. Who is going to Mentor Newcomers in Open Source Projects? Gerardo Canfora Massimiliano Di Penta Rocco Oliveto Sebastiano Panichella
  • 2. Context and Motivations • Software Development How? • Training via Mentoring Case Study •Explorative analysis •Recommendation system evaluation
  • 3. Training Project Newcomers With a GOOD TRAINING Can immediately start to work ACTIVELY Newcomer
  • 5. Previous Work... Newcomer MENTOR Mentoring of project newcomers is highly desirable Dagenais et al.
  • 6. Characteristics of a good Mentor
  • 8. Mentoring Small/large Projects Small Projects: find Mentors is a trivial problem Large Projects: : find Mentors is not a trivial problem .........
  • 9. YODA (Young and newcOmer Developer Assistant) Approach for Mentors Identification in Open Source Projects
  • 10. YODA: two pashes What factor can be used to identify mentors? SVN GIT CVS ?
  • 11. RQ1: Identify past mentors What factor can be used to identify mentors?
  • 12. How does Arnetminer works? Ranks pairs of researchers according to four factors: f1: they published Many papers Together f2: advisor published More than the Student f3: advisor older than the student f4: student published her first paper(s) with the advisor
  • 13. Heuristics to identify Mentors F1: Exchanged emails Time
  • 14. Heuristics to identify Mentors F1: Exchanged emails Time When Alice joins the project
  • 15. Heuristics to identify Mentors F2: overall amount of emails
  • 16. Heuristics to identify Mentors F2: overall amount of emails
  • 17. Heuristics to identify Mentors F2: overall amount of emails
  • 18. Heuristics to identify Mentors F3: project age
  • 19. Heuristics to identify Mentors F3: project age Time
  • 20. Heuristics to identify Mentors F4: newcomer early emails
  • 21. Heuristics to identify Mentors F4: newcomer early emails Time First emails by Alice in the project
  • 22. Heuristics to identify Mentors F5: Commits
  • 23. Heuristics to identify Mentors F5: Commits When Alice joins the project Time
  • 24. Aggregating the factors What factors can be used to identify mentors? 5 w f i 1 i i
  • 29. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time
  • 30. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time t
  • 31. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time t
  • 32. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time t
  • 33. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time t
  • 34. Recommend Mentors Inspired to the work On Bug Triaging by J. Anvik et al. 2011 Time t DICE SIMILARITY
  • 35. Empirical Study • Goal: analyze data from mailing lists and versioning systems • Purpose: investigating which factors can be used to identify mentors • Quality focus: recommend mentors in software projects • Context: mailing lists and versioning systems of five software  Apache, FreeBSD, PostgreSQL, Python and Samba
  • 36. Context Training and Test sets for evaluating Yoda. Apache FreeBSD PostgreSQL Python Samba Period (Training set) 08/2001-03/2002 11/1998-02/2000 10/1998-05/2001 05/2000-05/2001 04/1998-09/2000 Period (Test set) 04/2002-12/2008 03/2000-10/2008 06/2001-03/2008 06/2001-12/2008 10/2000-12/2008 # of Mentors (Training set) 19 65 10 28 17 # of Newcomers (Training set) 13 33 8 32 33 # of Newcomers (Test set) 13 33 7 31 33
  • 38. RQ1: How can we identify mentors from the past history of a software project? COUPLES SCORE 5 2.5 1.5 1.5 1.5 1.5 1.5 ………. ………. w f i 1 i i
  • 39. RQ1: How can we identify mentors from the past history of a software project? COUPLES SCORE 5 w f 2.5 i 1 1.5 1.5 1.5 1.5 1.5 ………. ………. Manual Validation i i
  • 40. RQ1: How can we identify mentors from the past history of a software project? Possible Configurations 100% 90% f1 80% Precision 70% 60% 50% 40% 30% 20% 10% 0% 18 19 20 21 22 23 Number of newcomer‐mentor pairs 24
  • 41. RQ1: How can we identify mentors from the past history of a software project? Possible Configurations 100% 90% f1 +f2+ f3 80% Precision 70% 60% 50% 40% 30% 20% 10% 0% 18 19 20 21 22 23 Number of newcomer‐mentor pairs 24
  • 42. RQ1: How can we identify mentors from the past history of a software project? Possible Configurations 100% 90% f1 +f2+ f4 80% Precision 70% 60% 50% 40% 30% 20% 10% 0% 18 19 20 21 22 23 Number of newcomer‐mentor pairs 24
  • 43. RQ1: How can we identify mentors from the past history of a software project? Possible Configurations 100% 90% f5 80% Precision 70% 60% 50% 40% 30% 20% 10% 0% 18 19 20 21 22 23 Number of newcomer‐mentor pairs 24 (Baseline)
  • 44. RQ1: How can we identify mentors from the past Apache 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Precision Precision history of a software project? 18 19 20 21 22 23 24 Number of newcomer‐mentor pairs f1 f1 +f2+ f3 PostgreSQL 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 12 14 16 18 20 22 Number of newcomer‐mentor pairs f1 +f2+ f4 f5(Baseline)
  • 45. RQ1: How can we identify mentors from the past Apache 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Precision Precision history of a software project? 18 19 20 21 22 23 24 Number of newcomer‐mentor pairs f1 f1 +f2+ f3 PostgreSQL 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 12 14 16 18 20 22 Number of newcomer‐mentor pairs f1 +f2+ f4 f5(Baseline)
  • 46. RQ1: How can we identify mentors from the past history of a software project? Precision 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% FreeBSD 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 23 24 26 28 30 32 34 36 38 40 42 44 46 48 25 Samba 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 30 27 29 31 33 35 37 39 Number of newcomer‐mentor pairs Number of newcomer‐mentor pairs Precision Precision Python 32 34 36 38 40 42 Number of newcomer‐mentor pairs 41
  • 47. RQ1: How can we identify mentors from the past history of a software project? Precision 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% USEFUL FACTORS FOR MENTORS IDENTIFICATION FreeBSD 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 23 24 26 28 30 32 34 36 38 40 42 44 46 48 Number of newcomer‐mentor pairs f1 25 Samba 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 30 27 29 31 33 35 37 39 Number of newcomer‐mentor pairs 0.5*f1 + 0.25*f2 + 0.25*f3 0.5*f1 + 0.25*f2 + 0.25*f4 Precision Precision Python 32 34 36 38 40 42 Number of newcomer‐mentor pairs 41
  • 48. RQ2: To what extent would it be possible to recommend mentors to newcomers joining a software project?
  • 49. RQ2: To what extent would it be possible to recommend mentors to newcomers joining a software project?
  • 50. RQ2: To what extent would it be possible to recommend mentors to newcomers joining a software project? YODA make it is possible possible to recommend Mentors
  • 51. Why don’t just using Top Committers?
  • 52. Why don’t just using Top Committers?
  • 53. Why don’t just using Top Committers? Not all Committers Are Good Mentors
  • 54. Surveying Projects Developers Questions Asked: - Done/received mentoring - Perceived importance of mentoring - What makes a good Mentor
  • 55. Sent to 114 Subjects… Samba ..... 37 FreeBSD ..... 37 PostgreSQL Python ..... 15 ..... 23 Apache ..... 23
  • 57. Done/received mentoring? Had a mentor? 58% Did mentoring? 42% 92% 0% 8% 20% 40% 60% 80% 100% YES NO
  • 58. Done/received mentoring? Had a mentor? 58% 42% Yes, I received Mentoring. My mentor was… Yes, I did mentoring… > Did mentoring? 0% 92% 8% 20% 40% 60% 80% 100% YES NO
  • 59. Perceived importance of mentoring Useless at all 0% 0% Not important 0% 0% Neutral 11% 45% 56% Important Very important 0% Effect of mentor 36% 33% 18% 20% 40% 60% Effect on newcomer
  • 60. Perceived importance of mentoring Useless at all 0% 0% Not important 0% 0% Neutral 11% 45% 56% Important Very important 0% Effect of mentor 36% 33% 18% 20% 40% 60% Effect on newcomer
  • 61. Perceived importance of mentoring Useless at all 0% 0% Not important 0% 0% Neutral 11% 45% 56% Important Very important 0% Effect of mentor 36% 33% 18% 20% 40% 60% Effect on newcomer
  • 62. Perceived importance of mentoring Useless at all 0% 0% Not important 0% 0% 11% Is very important that Neutral mentor share knowledge with a mentee… Important Very important 0% Effect of mentor 45% 56% 36% 33% 18% 20% 40% 60% Effect on newcomer
  • 63. What makes a good Mentor Others 0% Project knowledge 38% Communication skills Experience 42% 19% 0% 10% 20% 30% 40% 50%
  • 64. What makes a good Mentor Others 0% Project knowledge 38% Communication skills Experience 42% 19% 0% 10% 20% 30% 40% 50%
  • 65. What makes a good Mentor Others 0% My knowledge Project first Mentor 38% had a very strong and technical background Communication skills Experience 42% 19% 0% 10% 20% 30% 40% 50%