Breaking the Kubernetes Kill Chain: Host Path Mount
A Study of the Characteristics of Developers′ Activities in GitHub
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. 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. 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. 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
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. 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. II. Identify Developers
• We limited the contributors to developers
who have made more than 100 commits.
– node: 9 developers
– jQuery: 10 developers
8
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. The Research Questions
1. What events do developers cause?
2. When do developers work?
3. How much do developers work?
10
11. 1. What events do developers cause?1/2
Coding, Commenting, and Issue Handling
Many commenting
Many coding
Balanced events
11
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. 2. When do developers work?1/2
Workdays
Dev 2
Dev 1
Employed
developers
Dev 3
Dev 4
13
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. 3.How much do developers work?1/2
Frequencies of Activities (300 events)
A few weeks
A few months
Over a year
15
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. 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. 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