Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
A Study of the Characteristics of
Developers′ Activities in GitHub
2013/12/2
Saya Onoue, Hideaki Hata, Ken-ichi Matsumoto
...
What kind of developers are there?

Sorcerer
Derive a program

Ninja
Hidden MVP

Cowboy
Fast worker

http://techiferous.co...
This Study
Goal
– Understand the different types of developers and
the ways that they make their contributions

Method
– C...
What is GitHub?
• Web-based hosting service for software
development projects that use the Git revision
control system.
– ...
GitHub Developers′ Activities
• Code – related
Dev
CommitComment
Issue
Comment

PullRequest
ReviewComment

Code

Create
De...
The data collection procedure
I. Select Projects
– Select active project for this study in GitHub

II. Identify Developers...
I. Select Projects
• We selected two projects for this study
– They were active projects on GitHub
Project Language Commit...
II. Identify Developers
• We limited the contributors to developers
who have made more than 100 commits.
– node: 9 develop...
III. Extract Activity Events
• GitHub has 18 different types of activity events
• We selected 8 events since others occur ...
The Research Questions
1. What events do developers cause?
2. When do developers work?
3. How much do developers work?

10
1. What events do developers cause?1/2
Coding, Commenting, and Issue Handling

Many commenting

Many coding

Balanced even...
1. What events do developers cause?2/2
• Different developers contribute differently
• There are various contributors in t...
2. When do developers work?1/2
Workdays

Dev 2

Dev 1

Employed
developers

Dev 3

Dev 4

13
2. When do developers work?2/2
• Some work every day, and some work on a
specific day
• Some work on weekdays, They are ac...
3.How much do developers work?1/2
Frequencies of Activities (300 events)
A few weeks

A few months
Over a year

15
3. How much do developers work?2/2
• There are large differences in frequency of
activities between developers
• We can fi...
A summary of developer characteristics
• Some of the characteristics of developers’
activities
Project

Developer

Majorit...
Conclusion and Future work
• We analyzed the developers′ activities in GitHub.
And found some characteristics of developer...
A Study of the Characteristics of Developers′ Activities in GitHub
Upcoming SlideShare
Loading in …5
×

A Study of the Characteristics of Developers′ Activities in GitHub

1,814 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

A Study of the Characteristics of Developers′ Activities in GitHub

  1. 1. A Study of the Characteristics of Developers′ Activities in GitHub 2013/12/2 Saya Onoue, Hideaki Hata, Ken-ichi Matsumoto Software Engineering Laboratory Nara Institute of Science and Technology in Japan
  2. 2. What kind of developers are there? Sorcerer Derive a program Ninja Hidden MVP Cowboy Fast worker http://techiferous.com/2011/08/are-you-a-good-programmer/ 2 http://www.techrepublic.com/blog/10-things/10-types-of-programmers-youll-encounter-in-the-field/
  3. 3. This Study Goal – Understand the different types of developers and the ways that they make their contributions Method – Collect data from GitHub – Analyze that data to investigate the characteristics of the activities of real developers. 3
  4. 4. What is GitHub? • Web-based hosting service for software development projects that use the Git revision control system. – Social networking service for developers • GitHub API – We can collect various events about developers′ activities. 4
  5. 5. GitHub Developers′ Activities • Code – related Dev CommitComment Issue Comment PullRequest ReviewComment Code Create Delete Push Fork PullRequest Issues Issue – Create, Delete, Push, Fork, PullRequest, • Comment – related – CommitComment, PullRequestReviewComment, IssueComment • Issue – related* – Issues *: contribute problems or questions 5
  6. 6. The data collection procedure I. Select Projects – Select active project for this study in GitHub II. Identify Developers – Identify developers in the selected project III. Extract activity events – Using the GitHub APIs, get specific events for the developers 6
  7. 7. I. Select Projects • We selected two projects for this study – They were active projects on GitHub Project Language Commits node JavaScript 8,974 jQuery JavaScript 5,270 Forks 4,572 4,587 Contributors 447 168 7
  8. 8. II. Identify Developers • We limited the contributors to developers who have made more than 100 commits. – node: 9 developers – jQuery: 10 developers 8
  9. 9. III. Extract Activity Events • GitHub has 18 different types of activity events • We selected 8 events since others occur rarely • collect last 300 events – Events of all projects that participate Events Outline Create Delete coding created repository, branch, or tag. deleted branch or tag. PullRequest request a change in the repository Push CommitComment commenting upload a change history make statement Commit IssueComment PullRequestReviewComment Issues make statement Issues make statement PullRequest contribute problems or questions 9
  10. 10. The Research Questions 1. What events do developers cause? 2. When do developers work? 3. How much do developers work? 10
  11. 11. 1. What events do developers cause?1/2 Coding, Commenting, and Issue Handling Many commenting Many coding Balanced events 11
  12. 12. 1. What events do developers cause?2/2 • Different developers contribute differently • There are various contributors in the projects node Code Comment Code,Comment Code,Comment,Issues N jQuery 2 Code 1 Comment 4 Code/comment 2 Code,Comment,Issues N 3 2 2 3 12
  13. 13. 2. When do developers work?1/2 Workdays Dev 2 Dev 1 Employed developers Dev 3 Dev 4 13
  14. 14. 2. When do developers work?2/2 • Some work every day, and some work on a specific day • Some work on weekdays, They are actually hired for this work 14
  15. 15. 3.How much do developers work?1/2 Frequencies of Activities (300 events) A few weeks A few months Over a year 15
  16. 16. 3. How much do developers work?2/2 • There are large differences in frequency of activities between developers • We can find developers who are working actively, and have contributed to the project for a long time node Days Weeks Months Years N 1 3 3 2 jQuery Days Weeks Months Years N 1 2 6 1 16
  17. 17. A summary of developer characteristics • Some of the characteristics of developers’ activities Project Developer Majority Activities Frequencies Dev 1 node Code,Comments,Issues node project Years Dev 2 Code,Comments node and others Weeks ・・・ Dev 3 Code node project Weeks Dev 4 Code,Comments Only Other projects Months ・・・ jQuery Dev 5 Dev 6 Comments jQuery project Code,Comments,Issues Only other project Months A years 17
  18. 18. Conclusion and Future work • We analyzed the developers′ activities in GitHub. And found some characteristics of developers. – Different developers contribute differently – Some work every day, and a specific day – There is a large difference in activity frequencies by developers • Future work – Detailed analysis with more data – Project management based on developers’ characteristics 18

×