Conference paper Open Access

Code Duplication and Reuse in Jupyter Notebooks

Koenzen, Andreas P.; Ernst, Neil A.; Storey, Margaret-Anne D.


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.3836691</identifier>
  <creators>
    <creator>
      <creatorName>Koenzen, Andreas P.</creatorName>
      <givenName>Andreas P.</givenName>
      <familyName>Koenzen</familyName>
      <affiliation>University of Victoria</affiliation>
    </creator>
    <creator>
      <creatorName>Ernst, Neil A.</creatorName>
      <givenName>Neil A.</givenName>
      <familyName>Ernst</familyName>
      <affiliation>University of Victoria</affiliation>
    </creator>
    <creator>
      <creatorName>Storey, Margaret-Anne D.</creatorName>
      <givenName>Margaret-Anne D.</givenName>
      <familyName>Storey</familyName>
      <affiliation>University of Victoria</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Code Duplication and Reuse in Jupyter Notebooks</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2020</publicationYear>
  <subjects>
    <subject>Jupyter, computational notebooks, code duplication, code clones, code reuse, data analysis, data exploration, exploratory programming</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2020-05-29</date>
  </dates>
  <language>en</language>
  <resourceType resourceTypeGeneral="ConferencePaper"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/3836691</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.3836690</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsPartOf">https://zenodo.org/communities/msr</relatedIdentifier>
  </relatedIdentifiers>
  <version>3.0</version>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;This is a replication package for the paper: &amp;quot;Code Duplication and Reuse in Jupyter Notebooks&amp;quot;, which was accepted as a full paper at the&amp;nbsp;&lt;strong&gt;IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) 2020&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The contents of this package are as follows:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;code&lt;/strong&gt; folder: Contains all necessary code to reproduce the first study presented in the paper.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;data&lt;/strong&gt; folder: Contains all data pertaining to the first study presented in the paper.
	&lt;ul&gt;
		&lt;li&gt;&lt;strong&gt;clones_1582405629.json.gz&lt;/strong&gt; file: JSON database with all detected clones and its&amp;nbsp;metadata for the used dataset.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;commit_data_1589997765.pkl.gz&lt;/strong&gt; file: Pandas pickle file containing the table &amp;quot;commit_data&amp;quot; (See &lt;em&gt;database.sql&lt;/em&gt; file).&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;commits_1589997765.pkl.gz&lt;/strong&gt; file: Pandas pickle file containing the table &amp;quot;commit&amp;quot; (See &lt;em&gt;database.sql&lt;/em&gt; file).&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;counter_1582422799.json.gz&lt;/strong&gt; file: JSON database with statistics about all repositories in the used dataset.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;notebooks_1589997765.pkl.gz&lt;/strong&gt; file: Pandas pickle file containing&amp;nbsp;the table &amp;quot;notebooks&amp;quot; (See &lt;em&gt;database.sql&lt;/em&gt; file).&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;parameter_tunning&lt;/strong&gt; folder: Folder with the results of the parameter tuning phase. Each TXT file corresponds to a different threshold.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In order to fully reproduce the code, a fully functional &lt;strong&gt;Python 3.7&lt;/strong&gt; environment is needed. The requirements can be found in the &lt;strong&gt;requirements.txt&lt;/strong&gt; file. If the starting scripts are to be used, a &lt;strong&gt;Python 3.7.7&lt;/strong&gt; version must be installed via &lt;strong&gt;pyenv&lt;/strong&gt;, but is NOT&amp;nbsp;necessary to run the notebooks,&amp;nbsp;the &lt;strong&gt;JupyterLab&lt;/strong&gt; environment can be launched manually issuing the&amp;nbsp;command: &lt;strong&gt;&amp;quot;jupyter lab notebooks&amp;quot;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Commands:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;To install Python dependencies via Pip: &lt;strong&gt;&amp;quot;pip install -r requirements.txt&amp;quot;&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;To launch Jupyter: &lt;strong&gt;&amp;quot;source start-jupyter.sh&amp;quot;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Optional:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;To access environment variables from Jupyter, the file &lt;strong&gt;env_variables.py&lt;/strong&gt; can be edited to add new variables or modify current ones.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;SHA1SUM of ZIP file:&lt;/strong&gt;&amp;nbsp;c9b5d7e2dbe0574b73f2d2b67adb9e18fdcfb513&lt;/p&gt;</description>
  </descriptions>
</resource>
83
10
views
downloads
All versions This version
Views 8383
Downloads 1010
Data volume 24.5 GB24.5 GB
Unique views 7676
Unique downloads 99

Share

Cite as