Better code, better sharing: on the need of analyzing jupyter notebooks

Jiawei Wang, Li Li, Andreas Zeller

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearch

29 Citations (Scopus)


By bringing together code, text, and examples, Jupyter notebooks have become one of the most popular means to produce scientific results in a productive and reproducible way. As many of the notebook authors are experts in their scientific fields, but laymen with respect to software engineering, one may ask questions on the quality of notebooks and their code. In a preliminary study, we experimentally demonstrate that Jupyter notebooks are inundated with poor quality code, e.g., not respecting recommended coding practices, or containing unused variables and deprecated functions. Considering the education nature of Jupyter notebooks, these poor coding practices, as well as the lacks of quality control, might be propagated into the next generation of developers. Hence, we argue that there is a strong need to programmatically analyze Jupyter notebooks, calling on our community to pay more attention to the reliability of Jupyter notebooks.

Original languageEnglish
Title of host publicationProceedings - 2020 ACM/IEEE 42nd International Conference on Software Engineering
Subtitle of host publicationNew Ideas and Emerging Results, ICSE-NIER 2020
EditorsWillem Visser, Shin Yoo
Place of PublicationNew York NY USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Number of pages4
ISBN (Electronic)9781450371261
Publication statusPublished - 2020
EventInternational Conference on Software Engineering 2020: New Ideas and Emerging Results - Online, Seoul, Korea, South
Duration: 27 Jun 202019 Jul 2020
Conference number: 42nd (Proceedings)

Publication series

NameProceedings - International Conference on Software Engineering
PublisherThe Association for Computing Machinery
ISSN (Print)0270-5257


ConferenceInternational Conference on Software Engineering 2020
Abbreviated titleICSE-NIER 2020
Country/TerritoryKorea, South
OtherTrack within the International Conference on Software Engineering
Internet address


  • API Deprecation
  • Jupyter Notebooks
  • Python
  • Quality Assurance

Cite this