Skip to main content
zenodoopen

Replication Package for MORCoRA: Multi-Objective Refactoring Recommendation Considering Review Availability

<div> <div>This is the replication package for <em>MORCoRA: Multi-Objective Refactoring Recommendation Considering Review Availability</em></div> <br><br> <div> <p><strong>Refactoring sequences searched by MORCoRA</strong></p> </div> <div>The 6 directories contain the refactoring sequences searched by MORCoRA.</div> <div>The name of each directory is the name of the repository introduced in <em>Table 2. Dataset</em>.</div> <br> <div>Each directory includes 6 CSV files.</div> <div>The name of the CSV file represents the search algorithm used to search refactoring sequences.</div> <br> <div>Note that <em>NsgaiiN</em> represents using the NSGA-II algorithm without considering the review availability objective, which is the RA-&nbsp; in <em>Section 4.5</em>.</div> <br> <div>In each CSV file, a single row is the refactoring sequences searched and the recommended reviewers for it. The sequence with no appropriate reviewers will be noted as <em>No appropriate expertise reviewer</em>.</div> <br><br> <div>In each CSV file, a row consists of multiple columns, the last column represents the recommended reviewer, and the rest columns represent elements in the refactoring sequences.</div> <div>Each element consists of:</div> <div> <ul> <li>ROType: refactoring operation type</li> </ul> </div> <div> <ul> <li>class1info: <em>class1</em> in the <em>Table 1. Refactoring Operations</em> in the paper. It is the information of the source class where the number before <em>#</em> represents the access modifiers according to <a href="https://docs.oracle.com/javase/7/docs/api/constant-values.html#java.lang.reflect.Modifier.PROTECTED">modifiers and their corresponding int values</a>, the name after <em>#</em> represents the name for the class</li> </ul> </div> <div> <ul> <li>class1path: the path to the file containing the class</li> </ul> </div> <div> <ul> <li>class2info: <em>class2</em> in the <em>Table 1. Refactoring Operations</em>&nbsp;the formation of the target class</li> </ul> </div> <div> <ul> <li>class2path: the path to the file containing the class</li> </ul> </div> <div> <ul> <li>target: it can be "class" or "method" or "field" according to the refactoring type. The number before <em>#</em> represents the access modifier. The name after <em>#</em> is the name of the "class" or "method" or "field", and its type is revealed after the <em>@</em>&nbsp;symbol.</li> </ul> </div> <br><br> <div><strong>Manually review results</strong></div> <div>The manual review results of the 60 solutions introduced in <em>Section 4.3</em> is recorded in the <em>manually_review_60_solutions.csv</em></div> <br> <div>It includes 6 columns:</div> <div> <ul> <li>Repository: The name of the repository.</li> </ul> </div> <div> <ul> <li>Recommended Refactoring Operations: the searched refactoring sequence.</li> </ul> </div> <div> <ul> <li>Recommended Reviewer: the reviewer recommended to review the refactoring sequence.</li> </ul> </div> <div> <ul> <li>Reviewable: If no appropriate expertise reviewer is found for the sequence, the value is "0", otherwise "1".</li> </ul> </div> <div> <ul> <li>Code smell Eliminated: The code smell type detected by JDeodorant that the recommended refactoring can eliminate. If the refactoring sequence cannot eliminate any code smell, then it is "No".</li> </ul> </div> <div> <ul> <li>Valid: If the refactoring sequence is recommended with appropriate reviewer (value in the column "Reviewable" is "1") and meaningful, and eliminates at least one code smell, the value is "1", otherwise "0".</li> </ul> </div> </div>

ShareScore

36/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
20
Reuse readiness
8
Engagement
0