English
Related papers

Related papers: Code Duplication and Reuse in Jupyter Notebooks

200 papers

Various software features such as classes, methods, requirements, and tests often have similar functionality. This can lead to emergence of duplicates in their descriptive documentation. Uncontrolled duplicates created via copy/paste hinder…

As scientific work becomes more computational and data intensive, research processes and results become more difficult to interpret and reproduce. In this poster, we show how the Jupyter notebook, a tool originally designed as a free…

Digital Libraries · Computer Science 2018-04-17 Bernadette M. Boscoe , Irene V. Pasquetto , Milena S. Golshan , Christine L. Borgman

Computational notebooks are the primary coding tools for data scientists, but their code quality remains understudied and often poor. Given the importance of maintainability and reusability, enhancing code understandability is essential.…

Software Engineering · Computer Science 2025-06-19 Mojtaba Mostafavi Ghahfarokhi , Alireza Asadi , Arash Asgari , Bardia Mohammadi , Abbas Heydarnoori , Masih Beigi Rizi

Despite the widespread adoption of computational notebooks, little is known about best practices for their usage in collaborative contexts. In this paper, we fill this gap by eliciting a catalog of best practices for collaborative data…

Human-Computer Interaction · Computer Science 2022-02-16 Luigi Quaranta , Fabio Calefato , Filippo Lanubile

Software systems are getting more complex as the system grows where maintaining such system is a primary concern for the industry. Code clone is one of the factors making software maintenance more difficult. It is a process of replicating…

Software Engineering · Computer Science 2012-05-28 Md. Monzur Morshed , Md. Arifur Rahman , Salah Uddin Ahmed

When working in large and complex codebases, developers face challenges using \textit{Find Usages} to understand how to reuse classes and methods. To better understand these challenges, we conducted a small exploratory study with 4…

Software Engineering · Computer Science 2020-09-03 Emad Aghayi , Aaron Massey , Thomas LaToza

In recent years, the research community has raised serious questions about the reproducibility of scientific work. In particular, since many studies include some kind of computing work, reproducibility is also a technological challenge, not…

Software Engineering · Computer Science 2023-08-03 Lázaro Costa , Susana Barbosa , Jácome Cunha

Notebooks provide an author-friendly environment for iterative development, modular execution, and easy sharing. Distributed workflows are increasingly being authored and executed in notebooks, yet sharing and reproducing them remains…

Software Engineering · Computer Science 2026-03-31 Talha Azaz , Raza Ahmad , Md Saiful Islam , Douglas Thain , Tanu Malik

Background: Hackathons have become popular events for teams to collaborate on projects and develop software prototypes. Most existing research focuses on activities during an event with limited attention to the evolution of the code brought…

Software Engineering · Computer Science 2021-03-19 Ahmed Imam , Tapajit Dey , Alexander Nolte , Audris Mockus , James D. Herbsleb

Computational notebooks are notoriously prone to reproducibility failures. By permitting out-of-order cell execution, notebooks accumulate hidden state and implicit dependencies that cause interactive executions to silently diverge from…

Programming Languages · Computer Science 2026-05-05 Stephen N. Freund , Emery D. Berger , Cormac Flanagan , Eunice Jun

More than ninety percent of published Jupyter notebooks do not state dependencies on external packages. This makes them non-executable and thus hinders reproducibility of scientific results. We present SnifferDog, an approach that 1)…

Software Engineering · Computer Science 2021-03-05 Jiawei Wang , Li Li , Andreas Zeller

We need ways to improve the code quality. Programmers have different level of tenure and experience. Standard and programming languages change and we are forced to re-use legacy code with minimum revision. Programmers develop their habits…

Computational reproducibility of scientific results, that is, the execution of a computational experiment (e.g., a script) using its original settings (data, code, etc.), should always be possible. However, reproducibility has become a…

Human-Computer Interaction · Computer Science 2025-04-15 Lázaro Costa , Susana Barbosa , Jácome Cunha

Nowadays, numerous industries have exceptional demand for skills in data science, such as data analysis, data mining, and machine learning. The computational notebook (e.g., Jupyter Notebook) is a well-known data science tool adopted in…

Code review is a widely-used practice in software development companies to identify defects. Hence, code review has been included in many software engineering curricula at universities worldwide. However, teaching code review is still a…

Software Engineering · Computer Science 2021-02-04 Chun Yong Chong , Patanamon Thongtanunam , Chakkrit Tantithamthavorn

As a representative literate programming platform, Jupyter is widely adopted by developers, data analysts, and researchers for replication, data sharing, documentation, interactive data visualization, and more. Understanding the bugs in the…

Software Engineering · Computer Science 2025-06-18 Yutian Tang , Hongchen Cao , Yuxi Chen , David Lo

Recent reproducibility case studies have raised concerns showing that much of the deposited research has not been reproducible. One of their conclusions was that the way data repositories store research data and code cannot fully facilitate…

Digital Libraries · Computer Science 2020-06-18 Ana Trisovic , Philip Durbin , Tania Schlatter , Gustavo Durand , Sonia Barbosa , Danny Brooke , Mercè Crosas

Several advances in deep learning have been successfully applied to the software development process. Of recent interest is the use of neural language models to build tools, such as Copilot, that assist in writing code. In this paper we…

Software Engineering · Computer Science 2024-01-09 Owura Asare , Meiyappan Nagappan , N. Asokan

Jupyter notebooks have become central in data science, integrating code, text and output in a flexible environment. With the rise of machine learning (ML), notebooks are increasingly used for prototyping and data analysis. However, due to…

Software Engineering · Computer Science 2025-08-12 Yiran Wang , Willem Meijer , José Antonio Hernández López , Ulf Nilsson , Dániel Varró

Software reuse is a crucial external quality attribute targeted by open-source and commercial projects. Despite that software reuse has experienced an increased adoption throughout the years, little is known about what aspects of code reuse…

Software Engineering · Computer Science 2023-11-02 Eman Abdullah AlOmara , Anthony Peruma , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni