Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks

Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
复制标题

DOI:
10.1109/apsec57359.2022.00062
复制
发表时间:
2022-12
期刊:
2022 29th Asia-Pacific Software Engineering Conference (APSEC)
影响因子:
--
通讯作者:
Natanon Ritta;Tasha Settewong;R. Kula;Chaiyong Ragkhitwetsagul;T. Sunetnanta;Kenichi Matsumoto
Natanon Ritta;Tasha Settewong;R. Kula;Chaiyong Ragkhitwetsagul;T. Sunetnanta;Kenichi Matsumoto
中科院分区:
其他
文献类型:
--
作者:
Natanon Ritta;Tasha Settewong;R. Kula;Chaiyong Ragkhitwetsagul;T. Sunetnanta;Kenichi Matsumoto

文献摘要

相似文献

重新使用已经存在的代码被普遍认为是一种流行的软件开发实践,该实践为所有涉及的利益相关者提供了好处和缺点。最近,在竞争性编程的背景下,有很多代码重复使用。在Kaggle竞赛中,三个大师的jupyter笔记本电脑的代码重复使用行为,这是一个用于数据科学家的在线竞争平台,并报告他们经常重复使用的代码类型。 )。显示数据,绘制图形,定义功能并探索文件。
The reuse of already existing code is widely considered a popular software development practice, that provides both benefits and drawbacks for all stakeholders involved. 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’ Jupyter notebooks in the Kaggle Competitions, an online competition platform for data scientists, and report the types of code they often reuse. Grandmasters are the highest level reached in competitions (novice, expert, master, and grandmaster). 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, plotting graphs, defining functions, and exploring files. The work opens up new research potential into recommending how developers can reuse their own code.