English
Related papers

Related papers: K-CONFIG: Using Failing Test Cases to Generate Tes…

200 papers

Regression testing activities greatly reduce the risk of faulty software release. However, the size of the test suites grows throughout the development process, resulting in time-consuming execution of the test suite and delayed feedback to…

Software Engineering · Computer Science 2023-11-21 Mostafa Mahdieh , Seyed-Hassan Mirian-Hosseinabadi , Mohsen Mahdieh

Many approaches for testing configurable software systems start from the same assumption: it is impossible to test all configurations. This motivated the definition of variability-aware abstractions and sampling techniques to cope with…

Software Engineering · Computer Science 2018-06-18 Axel Halin , Alexandre Nuttinck , Mathieu Acher , Xavier Devroey , Gilles Perrouin , Benoit Baudry

Search-based approaches have been used in the literature to automate the process of creating unit test cases. However, related work has shown that generated unit-tests with high code coverage could be ineffective, i.e., they may not detect…

Software Engineering · Computer Science 2022-10-19 Pouria Derakhshanfar , Xavier Devroey , Annibale Panichella , Andy Zaidman , Arie van Deursen

Automatically fixing software bugs is a challenging task. While recent work showed that natural language context is useful in guiding bug-fixing models, the approach required prompting developers to provide this context, which was simulated…

Software Engineering · Computer Science 2022-11-14 Sheena Panthaplackel , Milos Gligoric , Junyi Jessy Li , Raymond J. Mooney

Given a failing test case, test case reduction yields a smaller test case that reproduces the failure. This process can be time consuming due to repeated trial and error with smaller test cases. Current techniques speed up reduction by only…

Software Engineering · Computer Science 2021-03-23 Golnaz Gharachorlu , Nick Sumner

Compiler-based Control-Flow Integrity (CFI) offers strong forward-edge protection but remains challenging to deploy in large C/C++ software due to visibility mismatches, type inconsistencies, and unintended behavioral failures. We present…

Software Engineering · Computer Science 2025-12-30 Sabine Houy , Bruno Kreyssig , Alexandre Bartel

The competent programmer hypothesis states that most programmers are competent enough to create correct or almost correct source code. Because this implies that bugs should usually manifest through small variations of the correct code, the…

Software Engineering · Computer Science 2023-05-17 Zaheed Ahmed , Eike Stein , Steffen Herbold , Fabian Trautsch , Jens Grabowski

Several advances in deep learning have been successfully applied to the software development process. Of recent interest is the use of neural language models to build tools, such as Copilot, that assist in writing code. In this paper we…

Software Engineering · Computer Science 2024-01-09 Owura Asare , Meiyappan Nagappan , N. Asokan

Many automated program repair techniques have been proposed for fixing bugs. Some of these techniques use the information beyond the given buggy program and test suite to improve the quality of generated patches. However, there are several…

Software Engineering · Computer Science 2021-03-26 Shin Hwei Tan , Ziqiang Li , Lu Yan

The advent of non-volatile main memory (NVM) enables the development of crash-consistent software without paying storage stack overhead. However, building a correct crash-consistent program remains very challenging in the presence of a…

Software Engineering · Computer Science 2020-12-14 Xinwei Fu , Wook-Hee Kim , Ajay Paddayuru Shreepathi , Mohannad Ismail , Sunny Wadkar , Changwoo Min , Dongyoon Lee

Logic bugs are bugs that can cause database management systems (DBMSs) to silently produce incorrect results for given queries. Such bugs are severe, because they can easily be overlooked by both developers and users, and can cause…

Software Engineering · Computer Science 2025-01-22 Chi Zhang , Manuel Rigger

The problem of software fault localization may be viewed as an approach for finding hidden faults or bugs in the existing program codes which are syntactically correct and give fault free output for some input instances but fail for all…

Software Engineering · Computer Science 2016-05-09 Vangipuram Radhakrishna

Widely used compilers like GCC and LLVM usually have hundreds of optimizations controlled by optimization flags, which are enabled or disabled during compilation to improve runtime performance (e.g., small execution time) of the compiler…

Programming Languages · Computer Science 2023-05-01 Mingxuan Zhu , Dan Hao , Junjie Chen

Testing is the most widely employed method to find vulnerabilities in real-world software programs. Compositional analysis, based on symbolic execution, is an automated testing method to find vulnerabilities in medium- to large-scale…

Software Engineering · Computer Science 2018-07-25 Saahil Ognawala , Ricardo Nales Amato , Alexander Pretschner , Pooja Kulkarni

In order to plan for failure recovery, the designers of cloud systems need to understand how their system can potentially fail. Unfortunately, analyzing the failure behavior of such systems can be very difficult and time-consuming, due to…

Software Engineering · Computer Science 2022-03-09 Domenico Cotroneo , Luigi De Simone , Pietro Liguori , Roberto Natella , Nematollah Bidokhti

Compilers play a central role in translating high-level code into executable programs, making their correctness essential for ensuring code safety and reliability. While extensive research has focused on verifying the correctness of…

Programming Languages · Computer Science 2025-07-10 Qiong Feng , Xiaotian Ma , Ziyuan Feng , Marat Akhin , Wei Song , Peng Liang

As optimization challenges continue to evolve, so too must our tools and understanding. To effectively assess, validate, and compare optimization algorithms, it is crucial to use a benchmark test suite that encompasses a diverse range of…

Neural and Evolutionary Computing · Computer Science 2025-11-18 Amir H. Gandomi , Mohammad Nabi Omidvar , Rohit Salgotra , Kalyanmoy Deb

Compilers are essential for the performance and correct execution of software and hold universal relevance across various scientific disciplines. Despite this, there is a notable lack of tools for testing and evaluating them, especially…

Programming Languages · Computer Science 2026-01-06 Berke Ates , Filip Dobrosavljević , Theodoros Theodoridis , Zhendong Su

Sophisticated attackers find bugs in software, evaluate their exploitability, and then create and launch exploits for bugs found to be exploitable. Most efforts to secure software attempt either to eliminate bugs or to add mitigations that…

Cryptography and Security · Computer Science 2018-08-03 Zhenghao Hu , Yu Hu , Brendan Dolan-Gavitt

Static analysis is a classical technique for improving software security and software quality in general. Fairly recently, a new static analyzer was implemented in the GNU Compiler Collection (GCC). The present paper uses the GCC's analyzer…

Software Engineering · Computer Science 2025-12-05 Jukka Ruohonen , Mubashrah Saddiqa , Krzysztof Sierszecki