From August to September 2016, I spent two months in SAIL lab at Queen's University in Canada through the intership program of Graduate School of Information Science and Technology. This is one of the best experiences that I would never forget since I came to Japan and would like to share with all of you.
Living in Canada
The time I arrived at Kingston, it was still summer holiday in Queen's; the campus was quiet and nice. I lived in a place which is about 30 minutes' walk from the campus. The landlord had a very lovely cat who accompanied me every day when I was making dinner or doing research on my laptop.
The landlord only provided me with 5GB data per month for Wi-Fi usage, thus I almost went to the lab everyday including the weekends. The lab was located in an apartment-like building which was just across the street from the graduate school. People in the lab were all very nice to me. We were always talking about all kinds of things and having a lot of fun when we had lunch together every day.
During my stay in this lab, my research was about analyzing how developers are reusing source code from Stack Overflow, a Q&A website for developers. On this website, developers post questions about their programming problem. Other experienced developers could then post answers to help them. Oftentimes, these answers would contain a piece of source code that other developers could copy-and-paste to their project with or without modifications. My research was trying to find out how much efforts do the developers spend when they are reusing the source code. The research is trying to answer the following questions:
- 1) RQ1: How often and to what extent do developers need to modify the source code from Stack Overflow posts?
- 2) RQ2: Do developers choose non-accepted answers? Why?
In order to address these questions, we performed a manual analysis on code pairs between open source projects on GitHub and the reused source code on Stack Overflow. We found that developers usually need to make some efforts in modifying the source code. And they also reuse source code from non-accepted answers based on different reasons, such as simplicity and performance.
I am trying my best to put the research into a paper and we plan to submit this paper to an international conference. In a nutshell, I have experienced a totally different culture and made friends with a lot of people from different countries. They all helped me a lot with all the aspects of my stay in Canada, which would be one of the best memories in my life!