English
Related papers

Related papers: Software Testing and Code Refactoring: A Survey wi…

200 papers

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underlying assumptions. Tools supporting such development have…

Logic in Computer Science · Computer Science 2020-03-17 Talia Ringer , Karl Palmskog , Ilya Sergey , Milos Gligoric , Zachary Tatlock

Software model checking has experienced significant progress in the last two decades, however, one of its major bottlenecks for practical applications remains its scalability and adaptability. Here, we describe an approach to integrate…

Software Engineering · Computer Science 2019-07-19 Felipe R. Monteiro , Mikhail R. Gadelha , Lucas C. Cordeiro

Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance,…

Software Engineering · Computer Science 2021-08-02 Denivan Campos , Larissa Rocha , Ivan Machado

Test smells can reduce the developers' ability to interact with the test code. Refactoring test code offers a safe strategy to handle test smells. However, the manual refactoring activity is not a trivial process, and it is often tedious…

Software Engineering · Computer Science 2022-07-13 Railana Santana , Luana Martins , Tássio Virgínio , Larissa Soares , Heitor Costa , Ivan Machado

In today's world, we need to ensure that AI systems are fair and unbiased. Our study looked at tools designed to test the fairness of software to see if they are practical and easy for software developers to use. We found that while some…

Software Engineering · Computer Science 2024-09-05 Thanh Nguyen , Luiz Fernando de Lima , Maria Teresa Badassarre , Ronnie de Souza Santos

Background: Test-case quality has always been one of the major concerns in software testing. To improve test-case quality, it is important to better understand how practitioners perceive the quality of test-cases. Objective: Motivated by…

Software Engineering · Computer Science 2023-10-02 Huynh Khanh Vi Tran , Nauman Bin Ali , Jürgen Börstler , Michael Unterkalmsteiner

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

Software security has been an important research topic over the years. The community has proposed processes and tools for secure software development and security analysis. However, a significant number of vulnerabilities remains in…

Software Engineering · Computer Science 2024-06-07 Steven Arzt , Linda Schreiber , Dominik Appelt

Software remodularization through clustering is a common practice to improve internal software quality. However, the true benefit of software clustering is only realized if developers follow through with the recommended refactoring…

Software Engineering · Computer Science 2023-03-14 Alvin Jian Jia Tan , Chun Yong Chong , Aldeida Aleti

Automated source code refactoring, particularly extract method refactoring, is a crucial and frequently employed technique during software development. Despite its importance and frequent use by practitioners, current automated techniques…

Software Engineering · Computer Science 2024-12-25 Indranil Palit , Tushar Sharma

Analytical quality assurance, especially testing, is an integral part of software-intensive system development. With the increased usage of Artificial Intelligence (AI) and Machine Learning (ML) as part of such systems, this becomes more…

Software Engineering · Computer Science 2021-10-07 Lisa Jöckel , Thomas Bauer , Michael Kläs , Marc P. Hauer , Janek Groß

Software security is of utmost importance for most software systems. Developers must systematically select, plan, design, implement, and especially, maintain and evolve security features -- functionalities to mitigate attacks or protect…

Software Engineering · Computer Science 2025-09-30 Kevin Hermann , Sven Peldszus , Jan-Philipp Steghöfer , Thorsten Berger

Coding agents have received significant adoption in software development recently. Unlike traditional LLM-based code completion tools, coding agents work with autonomy (e.g., invoking external tools) and leave visible traces in software…

Software Engineering · Computer Science 2026-02-03 Andre Hora , Romain Robbes

Despite its importance, software testing is, arguably, the least understood part of the software life cycle and still the toughest to perform correctly. Many researchers and practitioners have been working to address the situation. However,…

Software Engineering · Computer Science 2019-06-27 Luiz Fernando Capretz , Pradeep Waychal , Jingdong Jia

The ever-growing popularity of mobile phones has brought additional challenges to the software development lifecycle. Mobile applications (apps, for short) ought to provide the same set of features as conventional software, with limited…

Software Engineering · Computer Science 2018-03-16 Luis Cruz , Rui Abreu

In software development, the identification of source code file experts is an important task. Identifying these experts helps to improve software maintenance and evolution activities, such as developing new features, code reviews, and bug…

Software Engineering · Computer Science 2022-08-17 Otávio Cury , Guilherme Avelino , Pedro Santos Neto , Ricardo Britto , Marco Túlio Valente

Alongside software testing education in universities, a great extent of effort and resources are spent on software-testing training activities in industry. For example, there are several international certification schemes in testing, such…

Software Engineering · Computer Science 2024-08-13 Vahid Garousi , Alper Buğra Keleş

Software architecture consists of series of decisions taken to give a structural solution that meets all the technical and operational requirements. The paper involves code refactoring. Code refactoring is a process of changing the internal…

Software Engineering · Computer Science 2014-12-25 Manpreet Kaur , Ravjeet Singh , Sukhveer Kaur , Baljot Singh , Savpreet Kaur , Navkaran Singh , Aman Ohri , Ravenna Sharma

Context: The quality of the test suites and the constituent test cases significantly impacts confidence in software testing. While research has identified several quality attributes of test cases and test suites, there is a need for a…

Software Engineering · Computer Science 2025-07-10 Huynh Khanh Vi Tran , Nauman bin Ali , Michael Unterkalmsteiner , Jürgen Börstler , Panagiota Chatzipetrou

The prevalence of software systems has become an integral part of modern-day living. Software usage has increased significantly, leading to its growth in both size and complexity. Consequently, software development is becoming a more…

Software Engineering · Computer Science 2023-06-07 Tiago Dias , Arthur Batista , Eva Maia , Isabel Praça