Artifacts of the paper under review by TSE
收藏资源简介:
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. <strong>Dataset</strong> Basically, the dataset is from Liu et al.'s ASE20 paper (i.e., Automating Just-In-Time Comment Updating), and then cleaned by Lin et al.'s ICPC21 paper (i.e., Automated Comment Update: How Far are We?). 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. <strong>The Code-Indicative Update Classifier</strong> 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: <pre><code class="language-python">python3 TypeClassifier.py -training/FilePath FeaturesForClassifier/featuresForTrain.csv -testFilePath FeaturesForClassifier/featuresForTest.csv</code></pre> <strong>Operation Path Extractor</strong> The customized tool for extracting operation path from the dataset is provided by previous studies. To obtain the preprocessed data, run the following command: <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> <strong>The Non-Code-Indicative Comment Updater</strong> 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: <pre><code class="language-python">python3 comment_update.py -data_path path/to/data -gpu -use_features</code></pre>



