SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (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 a 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 ProjectsSebastiano 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 opsIevgenii 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 worldHiroyuki Ito
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software DevelopmentBahaa 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 PostsPreetha 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, 2017Caserta
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao 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 ConferenceGene Kim
 
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 pMaximaSheffield592
 
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 pnand15
 
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
 
discopen
discopendiscopen
discopenJisc
 
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 FrambachIevgenii 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 2013DataMind-slides
 

Similar a 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
 

Más de Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej 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 crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Más de 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
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

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%