Replication Package for the Paper: "Code Smells Detection via Modern Code Review: A Study of the OpenStack and Qt Communities"
Authors/Creators
- 1. Wuhan University
- 2. Massey University
- 3. Brunel University London
- 4. University of Auckland
Description
This repository contains the data and results from the paper "Code Smells Detection via Modern Code Review: A Study of the OpenStack and Qt Communities" submitted to the ICPC 2021 special issue of the Empirical Software Engineering Journal, 2021.
The replication package contains the following two folders:
1) data folder
The data folder contains the following four folders, which is organized by research questions (RQs).
- RQ1: The RQ1 folder contains the retrieved 1,539 code reviews that discuss code smells. Each review includes four parts: Code Change URL, Code Smell, Code Smell Discussion, and Source Code URL.
- RQ2: The RQ2 folder contains the coded data for RQ2, called Data Labeling & Encoding for RQ2.mx18. It is the results of data labeling and encoding for RQ2, which was analyzed by the MAXQDA tool.
- RQ3 and RQ5:
- Extracted data for RQ3.1.xlsx: this file contains the extracted data (i.e., specific refactoring actions suggested by reviewers) for RQ3.1.
- Data Labeling & Encoding for RQ3 and RQ5.mx18: this file contains the extracted data for RQ3 (excluding the specific refactoring actions in RQ3.1) and RQ5.
- Code change status for RQ5.xlsx: this file contains the information of status of code changes where the developers disagreed with the reviewers and chose to ignore the identified code smells.
- RQ4: The RQ4 folder contains the extracted data for RQ4, called Extracted data for RQ4.xlsx.
Note: The mx18 files can be opened by MAXQDA 18 or higher versions, which are available at https://www.maxqda.com/ for download. You may also use the free 14-day trial version of MAXQDA 2018, which is available at https://www.maxqda.com/trial for download.
2) scripts folder
The scripts folder contains the Python scripts that were used to search for code smell terms and the list of code smell terms.
- keyword.txt contains the keywords associated with code smells, such as "smell, duplication, and dead".
- get_changes.py is used for getting code changes from OpenStack and Qt.
- get_comments.py is used for getting review comments for each code change.
- keywords_search.py is used for searching review comments that contain at least one keyword.
- random_select.py is used for randomly selecting review comments that do not contain any keyword.
- keywords_improve.py is used for improving the keyword-based mining approach.
- tools.py is used for supporting the process of keywords improving.
Files
Replication Package.zip
Files
(41.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:aa1d7f55e378b0f99a6bbab4131be623
|
41.8 MB | Preview Download |