English
Related papers

Related papers: Learning How to Mutate Source Code from Bug-Fixes

200 papers

Due to increasingly complex software design and rapid iterative development, code defects and security vulnerabilities are prevalent in modern software. In response, programmers rely on static analysis tools to regularly scan their…

Software Engineering · Computer Science 2022-03-21 Anant Kharkar , Roshanak Zilouchian Moghaddam , Matthew Jin , Xiaoyu Liu , Xin Shi , Colin Clement , Neel Sundaresan

Software code complexity is a well-studied property to determine software component health. However, the existing code complexity metrics do not directly take into account the fault-proneness aspect of the code. We propose a metric called…

Software Engineering · Computer Science 2021-04-27 Ali Parsai , Serge Demeyer

Detecting and fixing bugs are two of the most important yet frustrating parts of the software development cycle. Existing bug detection tools are based mainly on static analyzers, which rely on mathematical logic and symbolic reasoning…

Computation and Language · Computer Science 2021-10-04 Dawn Drain , Chen Wu , Alexey Svyatkovskiy , Neel Sundaresan

Context: Performance regressions negatively impact execution time and memory usage of software systems. Nevertheless, there is a lack of systematic methods to evaluate the effectiveness of performance test suites. Performance mutation…

In mutation testing, the quality of a test suite is evaluated by introducing faults into a program and determining whether the program's tests detect them. Most existing approaches for mutation testing involve the application of a fixed set…

Software Engineering · Computer Science 2025-03-10 Frank Tip , Jonathan Bell , Max Schaefer

Mutation testing has been demonstrated to be one of the most powerful fault-revealing tools in the tester's tool kit. Much previous work implicitly assumed it to be sufficient to re-compute mutant suites per release. Sadly, this makes…

Software Engineering · Computer Science 2022-12-23 Milos Ojdanic , Mike Papadakis , Mark Harman

Deep learning (DL) defines a new data-driven programming paradigm where the internal system logic is largely shaped by the training data. The standard way of evaluating DL models is to examine their performance on a test dataset. The…

Software Engineering · Computer Science 2018-08-16 Lei Ma , Fuyuan Zhang , Jiyuan Sun , Minhui Xue , Bo Li , Felix Juefei-Xu , Chao Xie , Li Li , Yang Liu , Jianjun Zhao , Yadong Wang

Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim…

Software Engineering · Computer Science 2019-11-22 Jun Sun , Long H. Pham , Lyly Tran Thi , Jingyi Wang , Xin Peng

A mutant is a program obtained by syntactically modifying a program's source code; an equivalent mutant is a mutant, which is functionally equivalent to the original program. Mutants are primarily used in \emph{mutation testing}, and when…

Software Engineering · Computer Science 2018-07-04 Jorge López , Natalia Kushik , Nina Yevtushenko

Mutation testing is an approach to check the robustness of test suites. The program code is slightly changed by mutations to inject errors. A test suite is robust enough if it finds such errors. Tools for mutation testing usually integrate…

Software Engineering · Computer Science 2024-04-23 Christoph Bockisch , Gabriele Taentzer , Daniel Neufeld

Large Language Models (LLMs) can generate plausible test code. Intuitively they generate this by imitating tests seen in their training data, rather than reasoning about execution semantics. However, such reasoning is important when…

Software Engineering · Computer Science 2025-03-12 Philipp Straubinger , Marvin Kreis , Stephan Lukasczyk , Gordon Fraser

Training a deep learning model on source code has gained significant traction recently. Since such models reason about vectors of numbers, source code needs to be converted to a code representation before vectorization. Numerous approaches…

Software Engineering · Computer Science 2022-07-18 Marjane Namavar , Noor Nashid , Ali Mesbah

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

As developers increasingly rely on LLM-generated code summaries for documentation, testing, and review, it is important to study whether these summaries accurately reflect what the program actually does. LLMs often produce confident…

Software Engineering · Computer Science 2026-02-23 Lara Khatib , Micheal Pu , Bogdan Vasilescu , Meiyappan Nagappan

Mutation-based fuzzing is effective for uncovering compiler bugs, but designing high-quality mutators for modern languages with complex constructs (e.g., templates, macros) remains challenging. Existing methods rely heavily on manual design…

Software Engineering · Computer Science 2026-02-09 Bo Wang , Pengyang Wang , Chong Chen , Ming Deng , Jieke Shi , Qi Sun , Chengran Yang , Youfang Lin , Zhou Yang , Junjie Chen , Jun Sun , David Lo

Large Language Models (LLMs) have recently been used to generate mutants in both research work and in industrial practice. However, there has been no comprehensive empirical study of their performance for this increasingly important…

Software Engineering · Computer Science 2026-01-23 Bo Wang , Mingda Chen , Ming Deng , Youfang Lin , Mark Harman , Mike Papadakis , Jie M. Zhang

Software testing is the important phase of software development process. But, this phase can be easily missed by software developers because of their limited time to complete the project. Since, software developers finish their software…

Software Engineering · Computer Science 2010-02-11 Mrs. R. Jeevarathinam , Dr. Antony Selvadoss Thanamani

Software bugs claim approximately 50% of development time and cost the global economy billions of dollars. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and then…

Software Engineering · Computer Science 2025-01-29 Parvez Mahbub , Ohiduzzaman Shuvo , Mohammad Masudur Rahman

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

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia