English
Related papers

Related papers: Code Duplication and Reuse in Jupyter Notebooks

200 papers

With the goal of identifying common practices in data science projects, this paper proposes a framework for logging and understanding incremental code executions in Jupyter notebooks. This framework aims to allow reasoning about how…

Human-Computer Interaction · Computer Science 2024-05-29 Jinjin Zhao , Avidgor Gal , Sanjay Krishnan

The drive for reproducibility in the computational sciences has provoked discussion and effort across a broad range of perspectives: technological, legislative/policy, education, and publishing. Discussion on these topics is not new, but…

Quantitative Methods · Quantitative Biology 2018-10-10 Daniel G. Hurley , Joseph Cursons , Matthew Faria , David M. Budden , Vijay Rajagopal , Edmund J. Crampin

Context. Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design. These are used to reduce the risks of source code being affected by…

Software Engineering · Computer Science 2022-08-17 Giammaria Giordano , Gerardo Festa , Gemma Catolino , Fabio Palomba , Filomena Ferrucci , Carmine Gravino

Reusing code can produce duplicate or near-duplicate code clones in code repositories. Current code clone detection techniques, like Program Dependence Graphs, rely on code structure and their dependencies to detect clones. These techniques…

Software Engineering · Computer Science 2020-06-26 Sandeep Kaur Kuttal , Akash Ghosh

Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically investigating the actual motivations behind specific…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Nikolaos Tsantalis , Marco Tulio Valente

Scientific advancement relies on the ability to share and reproduce results. When data analysis or calculations are carried out using software written by scientists there are special challenges around code versions, quality and code…

Software Engineering · Computer Science 2025-07-09 S. Lee , C. Myers , A. Yang , T. Zhang , S. J. L. Billinge

The reproducibility of software environments is a critical concern in modern software engineering, with ramifications ranging from the effectiveness of collaboration workflows to software supply chain security and scientific…

Software Engineering · Computer Science 2026-01-21 Julien Malka , Stefano Zacchiroli , Théo Zimmermann

Background and context: Debugging is a significant and often frustrating challenge for beginner programmers. Understanding students' debugging behaviours and strategies can help to identify common difficulties and inform approaches for…

Computers and Society · Computer Science 2026-04-03 Laurie Gale , Sue Sentance

Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone detection,…

Software Engineering · Computer Science 2017-11-15 Elmar Juergens , Florian Deissenboeck , Benjamin Hummel , Stefan Wagner

Literate computing has emerged as an important tool for computational studies and open science, with growing folklore of best practices. In this work, we report two case studies - one in computational magnetism and another in computational…

Mathematical Software · Computer Science 2021-04-02 Marijan Beg , Juliette Taka , Thomas Kluyver , Alexander Konovalov , Min Ragan-Kelley , Nicolas M. Thiéry , Hans Fangohr

Open-ended programming increases students' motivation by allowing them to solve authentic problems and connect programming to their own interests. However, such open-ended projects are also challenging, as they often encourage students to…

Human-Computer Interaction · Computer Science 2021-04-27 Wengran Wang , Archit Kwatra , James Skripchuk , Neeloy Gomes , Alexandra Milliken , Chris Martens , Tiffany Barnes , Thomas Price

Code-recommendation systems, such as Copilot and CodeWhisperer, have the potential to improve programmer productivity by suggesting and auto-completing code. However, to fully realize their potential, we must understand how programmers…

Software Engineering · Computer Science 2024-04-23 Hussein Mozannar , Gagan Bansal , Adam Fourney , Eric Horvitz

Erasure coding techniques are getting integrated in networked distributed storage systems as a way to provide fault-tolerance at the cost of less storage overhead than traditional replication. Redundancy is maintained over time through…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-06-12 Lluis Pamies-Juarez , Frédérique Oggier , Anwitaman Datta

Computational notebooks have emerged as the platform of choice for data science and analytical workflows, enabling rapid iteration and exploration. By keeping intermediate program state in memory and segmenting units of execution into…

Software Engineering · Computer Science 2021-06-22 Stephen Macke , Hongpu Gong , Doris Jung-Lin Lee , Andrew Head , Doris Xin , Aditya Parameswaran

Third-party library reuse has become common practice in contemporary software development, as it includes several benefits for developers. Library dependencies are constantly evolving, with newly added features and patches that fix bugs in…

Software Engineering · Computer Science 2017-09-15 Raula Gaikovina Kula , Daniel M. German , Ali Ouni , Takashi Ishio , Katsuro Inoue

Code cloning plays a very important role in open-source software engineering. The presence of clones within a project may indicate a need for refactoring, and clones between projects are even more interesting, since code migration takes…

Software Engineering · Computer Science 2021-08-16 Yaroslav Golubev , Timofey Bryksin

Although peer code review is widely adopted in both commercial and open source development, existing studies suggest that such code reviews often contain a significant amount of non-useful review comments. Unfortunately, to date, no tools…

Software Engineering · Computer Science 2018-07-13 Mohammad Masudur Rahman , Chanchal K. Roy , Raula G. Kula

Reading computer program code and documentation written by others is, we are told, one of the best ways to learn the art of writing intelligible and maintainable code and documentation. The software resurrection exercise, introduced in this…

Software Engineering · Computer Science 2022-09-13 Abhishek Dutta

Background: Multitasking is usual in software development. It is the ability to stop working on a task, switch to another, and return eventually to the first one, as needed or as scheduled. Multitasking, however, comes at a cognitive cost:…

Software Engineering · Computer Science 2020-06-24 Karina Kohl , Bogdan Vasilescu , Rafael Prikladnicki

The reproduction and replication of novel results has become a major issue for a number of scientific disciplines. In computer science and related computational disciplines such as systems biology, the issues closely revolve around the…

Software Engineering · Computer Science 2014-09-17 Tom Crick , Benjamin A. Hall , Samin Ishtiaq