Test Smell Research

Experiment Data

The data generated by our tools have been made available on our website. In-addition to the test smells exhibited by the projects, the dataset also includes details on the project's commits, releases and issues. As our research involved the analysis of Android and traditional Java projects, we have split our dataset into two, one for each category. Each dataset is in the format of a SQLite database file. Also made available are the unit test files used in the precision and recall experiment of our study.

The datasets are available for download from here: https://drive.google.com/drive/folders/1vVeaNCCXUNI3TisQRb2AZAwabVKkF_wS?usp=sharing
testsmells_android.sqlite contains the data related to Android projects.
testsmells_java.sqlite contains the data related to traditional Java projects.
ManualVerification.zip contains the unit test files used by participants to test the accuracy of the tool.
developer_survey.xlsx contains details about the developer survey.

Listed below are details of the tables in the dataset: testsmells_android.sqlite

Table Name Description
git_commit_log The git log for each project
git_commit_files The files and actions associated with each commit
git_tag The tags associated with each project
github_metadata Repository details of each project. Obtained from GitHub.
github_release Details of all project releases. Obtained from GitHub.
github_issue Details of all project issues. Obtained from GitHub.
github_issue_label The label associated with each issue
github_issue_commit The commits associated with each issue
tool_testfile_history Detected Junit test files
tool_testfilemapping_history Mapping of test and production files
tool_testsmell_history The type of test smells detected on each unit test file
debt_testfile_history Comments containing SATD in test files
apps The git clone url for the apps
fdroid Fdroid details for the app
google_play Google Play details for the app
FirstSmell_CommitPosition The commit when the first test smell occurs
SmellCooccurrence Co-occurrence of smell types
TestFileSmellEvolution The smell trend for each test file

Listed below are details of the tables in the dataset: testsmells_java.sqlite

Table Name Description
git_commit_log The git log for each project
git_commit_files The files and actions associated with each commit
git_tag The tags associated with each project
github_metadata Repository details of each project. Obtained from GitHub.
github_release Details of all project releases. Obtained from GitHub.
github_issue Details of all project issues. Obtained from GitHub.
github_issue_label The label associated with each issue
github_issue_commit The commits associated with each issue
tool_testfile_history Detected Junit test files
tool_testfilemapping_history Mapping of test and production files
tool_testsmell_history The type of test smells detected on each unit test file
debt_comment_history Comments containing SATD in test files