Skip to main content
zenodoopen

Artifacts of the paper under review by TSE

<p>This is the online repository of <strong>*Predictive Comment Updating with Heuristics and AST-Path-Based Neural Learning: A Two-Phase Approach</strong>*, a research paper under review by TSE. We release the source code and relevant data of <strong>Toper</strong>, the data used in our evaluation, as well as the experiment results.</p> <ul> <li><strong>Dataset</strong></li> </ul> <p>Basically, the dataset is from Liu et al.&#39;s ASE20 paper (i.e., <a href="conf.researchr.org/details/ase-2020/ase-2020-papers/3/Evaluating-Representation-Learning-of-Code-Changes-for-Predicting-Patch-Correctness-i">Automating Just-In-Time Comment Updating</a>), and then cleaned by Lin et al.&#39;s ICPC21 paper (i.e., <a href="https://conf.researchr.org/details/icpc-2021/icpc-2021-research/20/Automated-Comment-Update-How-Far-are-We-">Automated Comment Update: How Far are We?</a>). We classify the dataset into code-indicative and non-code-indicative items and store them in <code>Data</code> directory, which is named by the format of <em>[data catagory]_Items_[Dataset].jsonl</em>. For example, <strong>All_Item_Test.jsonl</strong> means this file includes all (i.e., including code-indicative and non-code-indicative) items in the test set. Similarly, <strong>NCIU_Items_Test.json</strong> means this file only covers non-code-indicative items in the test set.</p> <ul> <li><strong>The Code-Indicative Update Classifier</strong></li> </ul> <p>We design a classifier to differentiate the Code-Indicative and Non-Code-Indicative updates. The replication package is available at <strong>Code/TypeClassifier.py</strong>. To obtain the result of the classifier, please run the following command:</p> <pre><code class="language-python">python3 TypeClassifier.py -training/FilePath FeaturesForClassifier/featuresForTrain.csv -testFilePath FeaturesForClassifier/featuresForTest.csv</code></pre> <ul> <li><strong>Operation Path Extractor</strong></li> </ul> <p>The customized tool for extracting operation path from the dataset is provided by previous studies. To obtain the preprocessed data, run the following command:</p> <pre><code class="language-java">java -cp OperationPathExtractor.jar Extractor.App --data_dir path/to/data --input_name semi-finished/data/path --output_name path/to/store/data --num_threads 1 The preprocessed data are stored in Data/Preprocessed.</code></pre> <ul> <li><strong>The Non-Code-Indicative Comment Updater</strong></li> </ul> <p>Our replication code is available at <code>Code</code>, and the detail instructions of command are at <code>comment_update.py</code>. Or you can simply execute the following command:</p> <pre><code class="language-python">python3 comment_update.py -data_path path/to/data -gpu -use_features</code></pre> <p>&nbsp;</p>

ShareScore

32/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
4
Harmonization
4
Access
16
Reuse readiness
8
Engagement
0