Towards Exploring the Code Reuse from Stack Overflow during Software Development
As one of the most well-known programmer Q&A websites, Stack Overflow (i.e., SO) is serving tens of thousands of developers every day. The previous study shows that many developers reuse the code snippets on SO when they find an answer (from SO) that functionally matches the programming problem they encounter in their development activities. To study how programmers reuse code on SO during project development, we conduct a comprehensive empirical study. First, to capture the development activities of programmers, we collect 342,148 modified code snippets in commits from 793 open-source Java projects, and these modified code can reflect the programming problems encountered during development. We also collect the code snippets from 1,355,617 posts on SO. Then, we employ CCFinder to detect the code clone between the modified code from commits and the code from SO, and further analyze the code reuse when programmer solves a programming problem during development. We count the code reuse ratios of the the modified code snippets in the commits of each project in different years, the results show that the average code reuse ratio is 6.32%, and the maximum is 8.38%. The code reuse ratio in project commits has increased year by year, and the proportion of code reuse in the newly established project is higher than that of in old project. We also find that some projects reuse the code snippets from many years ago. Additionally, we find that experienced developers seem to be more likely to reuse the knowledge on SO. Moreover, we find that the code reuse ratio in bug-related commits (6.67%) is slightly higher than that of in non-bug-related commits (6.59%). Furthermore, we also find that the code reuse ratio (14.44%) in Java class files that have undergone multiple modifications is more than double the overall code reuse ratio (6.32%).
Tue 17 MayDisplayed time zone: Eastern Time (US & Canada) change
03:00 - 03:40 | Session 12: Search and Reuse: CodeResearch / Early Research Achievements (ERA) / Replications and Negative Results (RENE) at ICPC room Chair(s): Fuxiang Chen University of British Columbia | ||
03:00 7mTalk | CSRS: Code Search with Relevance Matching and Semantic Matching Research Media Attached | ||
03:07 4mTalk | Clone-based code method usage pattern mining Early Research Achievements (ERA) Zhipeng Xue National University of Defense Technology Media Attached | ||
03:11 7mTalk | Towards Exploring the Code Reuse from Stack Overflow during Software Development Research Yuan Huang School of Data and Computer Science, Sun Yat-sen University, Guangzhou, China, Furen Xu School of Software Engineering, Sun Yat-sen University, Zhuhai 519082, China, Haojie Zhou School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou 510006, China, Xiangping Chen Guangdong Key Laboratory for Big Data Analysis and Simulation of Public Opinion, School of Communication and Design, Sun Yat-sen University, Guangzhou 510006, China., Xiaocong Zhou School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou 510006, China, Tong Wang School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou 510006, China Pre-print Media Attached | ||
03:18 4mTalk | The Ineffectiveness of Domain-Specific Word Embedding Models for GUI Test Reuse Replications and Negative Results (RENE) Farideh Sadat Khalili Sharif University of Technology, Ali Mohebbi USI Lugano, Valerio Terragni University of Auckland, Mauro Pezze USI Lugano; Schaffhausen Institute of Technology, Leonardo Mariani University of Milano-Bicocca, Abbas Heydarnoori Sharif University of Technology Media Attached | ||
03:22 18mLive Q&A | Q&A-Paper Session 12 Research |