On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study
收藏资源简介:
This is the dataset that accompanies the study: "<strong>On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study</strong>." This study has been accepted for publication at the 2021 Mining Software Repositories Conference. <strong><em>Following is the abstract of the study:</em></strong> A key aspect of ensuring the quality of a software system is the practice of unit testing. Through unit tests, developers verify the correctness of production source code, thereby verifying the system's intended behavior under test. However, unit test code is subject to issues, ranging from bugs in the code to poor test case design (i.e., test smells). In this study, we compare and contrast the occurrences of a type of single-statement-bug-fix known as "simple stupid bugs" (SStuBs) in test and non-test (i.e., production) files in popular open-source Java Maven projects. Our results show that SStuBs occur more frequently in non-test files than in test files, with most fix-related code associated with assertion statements in test files. Further, most test files exhibiting SStuBs also exhibit test smells. We envision our findings enabling tool vendors to better support developers in improving the maintenance of test suites. <strong><em>Following are the contents of the dataset:</em></strong> Dataset.sqlite -- A SQLite database containing the raw dataset used in this project<br> CompleteTableEntries.xlsx -- Excel spreadsheet containing the complete listings for the tables in the paper ---------------------------------------------------------------------------------------------------------------------------<br> Key contents of Dataset.sqlite Table Name ---- Table Description<br> "sstubs"---- The set of sstubs in popular Maven repositories<br> "testsmells" ---- Mined test smells from test files<br> "topJavaMavenProjects" ---- Repository details for the Maven projects <br> "topJavaMaven_Commit" ---- Commit details for the Maven projects <br> "topJavaMaven_CommitFile" ---- Files that were part of each commit<br> ---------------------------------------------------------------------------------------------------------------------------
本数据集配套于研究论文:<strong>《单元测试文件中“简单愚蠢漏洞”的分布特征:一项探索性研究》</strong>(原英文标题:On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study)。本研究已被2021年软件仓库挖掘会议(Mining Software Repositories Conference)接收发表。<strong><em>以下为本研究摘要:</em></strong> 保障软件系统质量的核心实践之一是单元测试。开发人员通过单元测试验证生产源代码的正确性,从而确认系统在测试场景下的预期行为。然而,单元测试代码存在诸多问题,既包括代码本身的漏洞,也涵盖测试用例设计缺陷(即测试异味(test smells))。本研究针对流行的开源Java Maven项目,对比分析了测试文件与非测试(即生产)文件中一类名为“简单愚蠢漏洞”(Simple Stupid Bugs,简称SStuBs)的单语句修复漏洞的出现情况。研究结果表明,非测试文件中的SStuBs出现频率高于测试文件,且测试文件中绝大多数与修复相关的代码均关联断言语句。此外,存在SStuBs的测试文件大多同时存在测试异味。我们期望本研究成果能够帮助工具厂商更好地支持开发人员优化测试套件的维护工作。<strong><em>以下为本数据集的内容:</em></strong> Dataset.sqlite -- 包含本项目所用原始数据集的SQLite数据库<br> CompleteTableEntries.xlsx -- 包含论文中表格完整条目信息的Excel电子表格<br>---------------------------------------------------------------------------------------------------------------------------<br> Dataset.sqlite的关键内容如下:<br>表名 表描述<br>"sstubs" 流行Maven仓库中的SStuBs集合<br>"testsmells" 从测试文件中挖掘得到的测试异味数据<br>"topJavaMavenProjects" Maven项目的仓库详情<br>"topJavaMaven_Commit" Maven项目的提交详情<br>"topJavaMaven_CommitFile" 每次提交所涉及的文件<br>---------------------------------------------------------------------------------------------------------------------------



