ARUS: A Tool for Automatically Removing Unnecessary Stubbings from Test Suites
In software testing, test doubles and stubbings are crucial for isolating the code under test from its dependencies, allowing for more controlled and reliable testing environments. However, as test suites evolve, some stubbings may become unnecessary, which should be removed to keep the test code clean, reliable, and maintainable.
To address this problem, we introduce ARUS, a tool designed to automatically remove unnecessary stubbings from test suites. ARUS can be used to analyze Java projects using Maven, JUnit, and Mockito. Given a software project and its test suite, the tool executes the test suite to collect data on how stubbings are used, identifies and categorizes stubbings that are unnecessary, and removes unnecessary stubbings through different resolution strategies. We used ARUS to perform an empirical evaluation based on 128 projects. The projects contain 280 stubbing definitions that lead to 1,529 unnecessary stubbings. Overall, ARUS provides a solution for 276 of the definitions (98.6% resolution rate) and the tool’s time cost is negligible. We submitted ARUS’ changes to the projects through pull requests and 86 resolutions are already merged. ARUS and its dataset are publicly available at https://github.com/se-umn/arus. We provide a video demo of the tool at https://youtu.be/YcJxp5lRlFM.
Thu 31 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Testing 3Tool Demonstrations / Journal-first Papers / Research Papers / Industry Showcase / NIER Track at Camellia Chair(s): Yi Song School of Computer Science, Wuhan University | ||
13:30 12mTalk | General and Practical Property-based Testing for Android Apps Research Papers Yiheng Xiong East China Normal University, Ting Su East China Normal University, Jue Wang Nanjing University, Jingling Sun University of Electronic Science and Technology of China, Geguang Pu East China Normal University, China, Zhendong Su ETH Zurich Pre-print | ||
13:42 12mTalk | ACCESS: Assurance Case Centric Engineering of Safety-critical Systems Journal-first Papers Ran Wei Lancaster University, Simon Foster University of York, Haitao Mei University of York, Fang Yan University of York, Ruizhe Yang Dalian University of Technology, Ibrahim Habli University of York, Colin O'Halloran D-RisQ Software Systems, Nick Tudor D-RisQ Software Systems, Tim Kelly University of York, Yakoub Nemouchi University of York | ||
13:55 12mTalk | Quantum Program Testing Through Commuting Pauli Strings on IBM's Quantum Computers Industry Showcase Asmar Muqeet Simula Research Laboratory and University of Oslo, Shaukat Ali Simula Research Laboratory and Oslo Metropolitan University, Paolo Arcaini National Institute of Informatics
Link to publication Pre-print | ||
14:08 12mTalk | Toward Individual Fairness Testing with Data Validity NIER Track Takashi Kitamura , Sousuke Amasaki Okayama Prefectural University, Jun Inoue National Institute of Advanced Industrial Science and Technology, Japan, Yoshinao Isobe AIST, Takahisa Toda The University of Electro-Communications | ||
14:21 12mTalk | DroneWiS: Automated Simulation Testing of small Unmanned Aerial System in Realistic Windy Conditions Tool Demonstrations | ||
14:34 12mTalk | ARUS: A Tool for Automatically Removing Unnecessary Stubbings from Test Suites Tool Demonstrations | ||
14:47 12mTalk | Learning Failure-Inducing Models for Testing Software-Defined Networks Journal-first Papers Raphaël Ollando University of Luxembourg, Seung Yeob Shin University of Luxembourg, Lionel Briand University of Ottawa, Canada; Lero centre, University of Limerick, Ireland |