

Second, we sampled notebooks from the full dataset for an in-depth qualitative analysis of what constitutes the dataset and which features they have. First, we separated a group of popular notebooks to check whether notebooks that get more attention have more quality and reproducibility capabilities. In this paper, we extended the analysis in four different ways to validate the hypothesis uncovered in our original study.

We presented a detailed analysis of their characteristics that impact reproducibility, proposed best practices that can improve the reproducibility, and discussed open challenges that require further research and development. To better understand good and bad practices used in the development of real notebooks, in prior work we studied 1.4 million notebooks from GitHub. At the same time, there has been growing criticism that the way in which notebooks are being used leads to unexpected behavior, encourages poor coding practices, and makes it hard to reproduce its results. The self-documenting aspects and the ability to reproduce results have been touted as significant benefits of notebooks. They support the creation of literate programming documents that combine code, text, and execution results with visualizations and other rich media. Jupyter Notebooks have been widely adopted by many different communities, both in science and industry.
