Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
Reusing already existing is a widely considered as a popular software development practices which provides both benefits and drawbacks for all stakeholders. Prior work reports on how code reuse is a common practice in software development projects, and data science projects such as machine learning pipelines. Recently, there has been much code reuse work in the context of competitive programming. Although there is work such as detecting plagiarism, there is no work that studies how a competitor will reuse their own code. In this paper, we present a preliminary study on the code reuse behavior of three grandmastersâEJupyter notebooks in the Kaggle Competitions, an online competition platform for data scientists. and report the types of code they often reuse. We find that Grandmasters are less likely to reuse specialized code, but instead tend to reuse common functions like importing packages (importing the pandas library). They are most likely to reuse common abstractions like importing packages, configurations, file IO operations, show data, plot graphs, define functions and explore files. The work opens up new research potential into recommending how developers can reuse their own code.
Fri 9 DecDisplayed time zone: Osaka, Sapporo, Tokyo change
13:00 - 14:00 | Source Code Analysis 2Technical Track / ERA - Early Research Achievements at Room1 Chair(s): Yoshiki Higo Osaka University | ||
13:00 20mPaper | Diff Feature Matching Network in Refactoring DetectionBest Paper Award Technical Track | ||
13:20 15mPaper | Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks ERA - Early Research Achievements Natanon Ritta Mahidol University, Tasha Settewong Mahidol University, Raula Gaikovina Kula Nara Institute of Science and Technology, Chaiyong Rakhitwetsagul Mahidol University, Thailand, Thanwadee Sunetnanta Mahidol University, Kenichi Matsumoto Nara Institute of Science and Technology | ||
13:35 20mPaper | An Experimental Comparison of Clone Detection Techniques using Java Bytecode Technical Track |