English
Related papers

Related papers: Automated Unit Test Refactoring

200 papers

Requirements form the basis for defining software systems' obligations and tasks. Testable requirements help prevent failures, reduce maintenance costs, and make it easier to perform acceptance tests. However, despite the importance of…

Software Engineering · Computer Science 2024-03-27 Morteza Zakeri-Nasrabadi , Saeed Parsa

Although Extract Method is a key refactoring for improving program comprehension, refactoring tools for such purpose are often underused. To address this shortcoming, we present JExtract, a recommendation system based on structural…

Software Engineering · Computer Science 2015-06-22 Danilo Silva , Ricardo Terra , Marco Tulio Valente

Refactoring enhances software quality without altering its functional behaviors. Understanding the refactoring activities of developers is crucial to improving software maintainability. With the increasing use of machine learning (ML)…

Software Engineering · Computer Science 2024-04-11 Shayan Noei , Heng Li , Ying Zou

Popular IDEs frequently contain bugs in their refactoring implementations. Ensuring that a transformation preserves a program's behavior is a complex task. Traditional detection methods rely on predefined preconditions for each refactoring…

Software Engineering · Computer Science 2025-03-31 Rohit Gheyi , Marcio Ribeiro , Jonhnanthan Oliveira

Automated test generation is crucial for ensuring the reliability and robustness of software applications while at the same time reducing the effort needed. While significant progress has been made in test generation research, generating…

Software Engineering · Computer Science 2025-01-30 Shaker Mahmud Khandaker , Fitsum Kifetew , Davide Prandi , Angelo Susi

Inspection of code changes is a time-consuming task that constitutes a big part of everyday work of software engineers. Existing IDEs provide little information about the semantics of code changes within the file editor view. Therefore…

Unit testing is an essential yet frequently arduous task. Various automated unit test generation tools have been introduced to mitigate this challenge. Notably, methods based on large language models (LLMs) have garnered considerable…

Software Engineering · Computer Science 2024-05-08 Yinghao Chen , Zehao Hu , Chen Zhi , Junxiao Han , Shuiguang Deng , Jianwei Yin

Large language models (LLMs) have shown strong potential for automated test generation, yet most approaches to generating Java unit tests still rely on mocking frameworks to handle dependencies. Mockless test generation could exercise more…

Software Engineering · Computer Science 2026-05-27 Qinghua Xu , Guancheng Wang , Lionel Briand , Zhaoqiang Guo , Kui Liu

In this paper, we present a novel approach to improving software quality and efficiency through a Large Language Model (LLM)-based model designed to review code and identify potential issues. Our proposed LLM-based AI agent model is trained…

Automated unit test generators, particularly search-based software testing tools like EvoSuite, are capable of generating tests with high coverage. Although these generators alleviate the burden of writing unit tests, they often pose…

Software Engineering · Computer Science 2024-08-22 Amirhossein Deljouyi , Roham Koohestani , Maliheh Izadi , Andy Zaidman

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

Diverse studies have analyzed the quality of automatically generated test cases by using test smells as the main quality attribute. But recent work reported that generated tests may suffer a number of quality issues not necessarily…

Unit testing is a fundamental practice in modern software engineering, with the aim of ensuring the correctness, maintainability, and reliability of individual software components. Very recently, with the advances in Large Language Models…

Software Engineering · Computer Science 2025-06-19 Quanjun Zhang , Chunrong Fang , Siqi Gu , Ye Shang , Zhenyu Chen , Liang Xiao

Reinforcement Learning (RL) is being increasingly used to learn and adapt application behavior in many domains, including large-scale and safety critical systems, as for example, autonomous driving. With the advent of plug-n-play RL…

Software Engineering · Computer Science 2023-08-04 Nicolás Cardozo , Ivana Dusparic , Christian Cabrera

Logging statements are essential for software debugging and maintenance. However, existing approaches to automatic logging generation rely on static analysis and produce statements in a single pass without considering runtime behavior. They…

Software Engineering · Computer Science 2026-04-01 Xin Wang , Yang Feng , Jiaoxiao Qian , Yang Zhang , Zhenhao Li , Zishuo Ding

Large Language Models (LLMs) have shown significant potential in automating software engineering tasks, particularly in code generation. However, current evaluation benchmarks, which primarily focus on accuracy, fall short in assessing the…

Software Engineering · Computer Science 2025-01-22 Alejandro Velasco , Daniel Rodriguez-Cardenas , Luftar Rahman Alif , David N. Palacio , Denys Poshyvanyk

Large language models (LLMs) have behaved well in generating unit tests for Java projects. However, the performance for covering the complex focal methods within the projects is poor. Complex methods comprise many conditions and loops,…

Software Engineering · Computer Science 2024-08-22 Zejun Wang , Kaibo Liu , Ge Li , Zhi Jin

Over the past eight years, the META method has served as a multidimensional testing skill assessment system in the National College Student Contest on Software Testing, successfully assessing over 100,000 students' testing skills. However,…

Software Engineering · Computer Science 2025-08-19 Yue Wang , Zhenyu Chen , Yuan Zhao , Chunrong Fang , Ziyuan Wang , Song Huang

Understanding software faults is essential for empirical research in software development and maintenance. However, traditional fault analysis, while valuable, typically involves multiple expert-driven steps such as collecting potential…

Software Engineering · Computer Science 2025-10-07 Jiongchi Yu , Weipeng Jiang , Xiaoyu Zhang , Qiang Hu , Xiaofei Xie , Chao Shen

UI automation tests play a crucial role in ensuring the quality of mobile applications. Despite the growing popularity of machine learning techniques to generate these tests, they still face several challenges, such as the mismatch of UI…

Software Engineering · Computer Science 2024-09-13 Sidong Feng , Haochuan Lu , Jianqin Jiang , Ting Xiong , Likun Huang , Yinglin Liang , Xiaoqin Li , Yuetang Deng , Aldeida Aleti