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

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 machi...

Full description

Saved in:
Bibliographic Details
Main Author: Ritta N.
Other Authors: Mahidol University
Format: Conference or Workshop Item
Published: 2023
Subjects:
Online Access:https://repository.li.mahidol.ac.th/handle/123456789/84311
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Mahidol University
id th-mahidol.84311
record_format dspace
spelling th-mahidol.843112023-06-19T00:02:28Z Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks Ritta N. Mahidol University Computer Science 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. 2023-06-18T17:02:28Z 2023-06-18T17:02:28Z 2022-01-01 Conference Paper Proceedings - Asia-Pacific Software Engineering Conference, APSEC Vol.2022-December (2022) , 457-461 10.1109/APSEC57359.2022.00062 15301362 2-s2.0-85149168830 https://repository.li.mahidol.ac.th/handle/123456789/84311 SCOPUS
institution Mahidol University
building Mahidol University Library
continent Asia
country Thailand
Thailand
content_provider Mahidol University Library
collection Mahidol University Institutional Repository
topic Computer Science
spellingShingle Computer Science
Ritta N.
Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
description 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.
author2 Mahidol University
author_facet Mahidol University
Ritta N.
format Conference or Workshop Item
author Ritta N.
author_sort Ritta N.
title Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
title_short Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
title_full Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
title_fullStr Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
title_full_unstemmed Reusing My Own Code: Preliminary Results for Competitive Coding in Jupyter Notebooks
title_sort reusing my own code: preliminary results for competitive coding in jupyter notebooks
publishDate 2023
url https://repository.li.mahidol.ac.th/handle/123456789/84311
_version_ 1781415283462766592