English
Related papers

Related papers: Automatic Test Improvement with DSpot: a Study wit…

200 papers

Deep Learning (DL) components are routinely integrated into software systems that need to perform complex tasks such as image or natural language processing. The adequacy of the test data used to test such systems can be assessed by their…

Software Engineering · Computer Science 2021-09-17 Vincenzo Riccio , Nargiz Humbatova , Gunel Jahangirova , Paolo Tonella

Performance is a critical quality attribute in software development, yet the impact of method-level code changes on performance evolution remains poorly understood. While developers often make intuitive assumptions about which types of…

Software Engineering · Computer Science 2025-08-12 Kaveh Shahedi , Nana Gyambrah , Heng Li , Maxime Lamothe , Foutse Khomh

Test Impact Analysis is an approach to obtain a subset of tests impacted by code changes. This approach is mainly applied to unit testing where the link between the code and its associated tests is easy to obtain. On the integration level,…

Software Engineering · Computer Science 2022-11-16 Muzammil Shahbaz

Testing PLC and DCS control logic in industrial automation is laborious and challenging since appropriate test cases are often complex and difficult to formulate. Researchers have previously proposed several automated test case generation…

Software Engineering · Computer Science 2024-05-06 Heiko Koziolek , Virendra Ashiwal , Soumyadip Bandyopadhyay , Chandrika K R

Typically, a conventional unit test (CUT) verifies the expected behavior of the unit under test through one specific input / output pair. In contrast, a parameterized unit test (PUT) receives a set of inputs as arguments, and contains…

Software Engineering · Computer Science 2025-03-13 Deepika Tiwari , Yogya Gamage , Martin Monperrus , Benoit Baudry

Software testing is a core discipline in software engineering where a large array of research results has been produced, notably in the area of automatic test generation. Because existing approaches produce test cases that either can be…

Software Engineering · Computer Science 2023-10-11 Laura Plein , Wendkûuni C. Ouédraogo , Jacques Klein , Tegawendé F. Bissyandé

Context: Bug bisection is a common technique used to identify a revision that introduces a bug or indirectly fixes a bug, and often involves executing multiple revisions of a project to determine whether the bug is present within the…

Software Engineering · Computer Science 2024-05-06 Ching Hang Mak , Shing-Chi Cheung

In large-scale software systems, there are often no fully-fledged bug reports with human-written descriptions when an error occurs. In this case, developers rely on stack traces, i.e., series of function calls that led to the error. Since…

Software Engineering · Computer Science 2024-12-20 Egor Shibaev , Denis Sushentsev , Yaroslav Golubev , Aleksandr Khvorov

Test Amplification is a method to extend handwritten tests into a more rigorous test suite covering corner cases in the system under test. Unfortunately, the current state-of-the-art for test amplification heavily relies on program analysis…

Software Engineering · Computer Science 2021-12-22 Ebert Schoofs , Mehrdad Abdi , Serge Demeyer

Test-driven development (TDD) is the practice of writing tests first and coding later, and the proponents of TDD expound its numerous benefits. For instance, given an issue on a source code repository, tests can clarify the desired behavior…

Software Engineering · Computer Science 2024-12-05 Toufique Ahmed , Martin Hirzel , Rangeet Pan , Avraham Shinnar , Saurabh Sinha

Unit testing frameworks are nowadays considered a best practice, included in almost all modern software development processes, to achieve rapid development of correct specifications. Knowledge representation and reasoning paradigms such as…

Software Engineering · Computer Science 2025-01-22 Giovanni Amendola , Tobias Berei , Giuseppe Mazzotta , Francesco Ricca

Test automation is important in software industry but self-assessment instruments for assessing its maturity are not sufficient. The two objectives of this study are to synthesize what an organization should focus to assess its test…

Modern software systems heavily rely on external libraries developed by third-parties to ensure efficient development. However, frequent library upgrades can lead to compatibility issues between the libraries and their client systems. In…

Software Engineering · Computer Science 2023-05-16 Xiufeng Xu , Chenguang Zhu , Yi Li

Automated unit test generation is an established research field, and mature test generation tools exist for statically typed programming languages such as Java. It is, however, substantially more difficult to automatically generate…

Software Engineering · Computer Science 2020-10-07 Stephan Lukasczyk , Florian Kroiß , Gordon Fraser

Automated debugging techniques have the potential to reduce developer effort in debugging, and have matured enough to be adopted by industry. However, one critical issue with existing techniques is that, while developers want rationales for…

Software Engineering · Computer Science 2023-04-06 Sungmin Kang , Bei Chen , Shin Yoo , Jian-Guang Lou

Recent In-IDE AI coding assistant tools (ACATs) like GitHub Copilot have significantly impacted developers' coding habits. While some studies have examined their effectiveness, there lacks in-depth investigation into the actual assistance…

Software Engineering · Computer Science 2024-04-25 Xin Tan , Xiao Long , Xianjun Ni , Yinghao Zhu , Jing Jiang , Li Zhang

How to successfully conduct test automation process improvement (TAPI) for continuous development, consisting of iterative software development, continuous testing, and delivery, is the challenge faced by many software organizations. In…

Software Engineering · Computer Science 2020-04-16 Yuqing Wang , Maaret Pyhäjärvi , Mika V. Mäntylä

With the recent rapid increase in digitization across all major industries, acquiring programming skills has increased the demand for introductory programming courses. This has further resulted in universities integrating programming…

In this paper, we aim at the automated unit coverage-based testing for embedded software. To achieve the goal, by analyzing the industrial requirements and our previous work on automated unit testing tool CAUT, we rebuild a new tool,…

Software Engineering · Computer Science 2018-06-19 Chengyu Zhang , Yichen Yan , Hanru Zhou , Yinbo Yao , Ke Wu , Ting Su , Weikai Miao , Geguang Pu

We conducted a systematic literature review on automated grading and feedback tools for programming education. We analysed 121 research papers from 2017 to 2021 inclusive and categorised them based on skills assessed, approach, language…

Software Engineering · Computer Science 2023-12-11 Marcus Messer , Neil C. C. Brown , Michael Kölling , Miaojing Shi