English
Related papers

Related papers: Mull it over: mutation testing based on LLVM

200 papers

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

Modern compilers, such as LLVM, are complex pieces of software. Due to their complexity, manual testing is unlikely to suffice, yet formal verification is difficult to scale. End-to-end fuzzing can be used, but it has difficulties in…

Software Engineering · Computer Science 2025-07-15 Yuyang Rong , Zhanghan Yu , Zhenkai Weng , Stephen Neuendorffer , Hao Chen

Mutation testing is a widely recognized technique for assessing and enhancing the effectiveness of software test suites by introducing deliberate code mutations. However, its application often results in overly large test suites, as…

Software Engineering · Computer Science 2025-05-12 Mohamed Salah Bouafif , Mohammad Hamdaqa , Edward Zulkoski

Rewriting C code in Rust provides stronger memory safety, yet migrating large codebases such as the 32-million-line Linux kernel remains challenging. While rule-based translators (e.g., C2Rust) provide accurate yet largely unsafe Rust…

Programming Languages · Computer Science 2025-04-01 Yuchen Liu , Junhao Hu , Yingdi Shan , Ge Li , Yanzhen Zou , Yihong Dong , Tao Xie

RustMC is a stateless model checker that enables verification of concurrent Rust programs. As both Rust and C/C++ compile to LLVM IR, RustMC builds on GenMC which provides a verification framework for LLVM IR. This enables the automatic…

Programming Languages · Computer Science 2025-02-11 Oliver Pearce , Julien Lange , Dan O'Keeffe

Code is increasingly becoming a core data modality of modern machine learning research impacting not only the way we write code with conversational agents like OpenAI's ChatGPT, Google's Bard, or Anthropic's Claude, the way we translate…

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 Testing is a fault-based software testing technique which is too computationally expensive for industrial use. Cloud-based distributed computing clusters, taking advantage of the MapReduce programming paradigm, represent a method…

Software Engineering · Computer Science 2016-01-29 Robert Merkel , James Georgeson

Optimizing compilers are essential for the efficient and correct execution of software across various scientific fields. Domain-specific languages (DSL) typically use higher level intermediate representations (IR) in their compiler…

Programming Languages · Computer Science 2026-01-15 Berke Ates , Philipp Schaad , Timo Schneider , Alexandru Calotoiu , Torsten Hoefler

Migrating existing C programs into Rust is increasingly desired, as Rust offers superior memory safety while maintaining C's high performance. However, vastly different features between C and Rust--e.g., distinct definitions and usages of…

Software Engineering · Computer Science 2025-03-25 Xuemeng Cai , Jiakun Liu , Xiping Huang , Yijun Yu , Haitao Wu , Chunmiao Li , Bo Wang , Imam Nur Bani Yusuf , Lingxiao Jiang

Mutation analysis assesses a test suite's adequacy by measuring its ability to detect small artificial faults, systematically seeded into the tested program. Mutation analysis is considered one of the strongest test-adequacy criteria.…

Software Engineering · Computer Science 2021-03-01 Goran Petrović , Marko Ivanković , Gordon Fraser , René Just

LLM-based mutation testing is a promising testing technology, but existing approaches typically rely on a fixed set of mutations as few-shot examples or none at all. This can result in generic low-quality mutations, missed context-specific…

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

LLM-based software engineering increasingly depends on executable, context-rich bug artifacts: paired correct and buggy code, methods under test (MUTs), documentation, and metadata. These artifacts support the training and evaluation of…

Software Engineering · Computer Science 2026-05-22 Tasfia Tasnim , Soneya Binta Hossain

Large Language Models (LLMs) have recently shown strong potential for automated unit test generation. This has motivated us to investigate whether developer-defined test doubles (commonly referred to as mocks) available in existing test…

Software Engineering · Computer Science 2026-04-22 Jamie Lee , Flynn Teh , Hengcheng Zhu , Mengzhen Li , Mattia Fazzini , Valerio Terragni

The Rust programming language, with its safety guarantees, has established itself as a viable choice for low-level systems programming language over the traditional, unsafe alternatives like C/C++. These guarantees come from a strong…

Software Engineering · Computer Science 2023-08-11 Pantazis Deligiannis , Akash Lal , Nikita Mehrotra , Aseem Rastogi

Testing is an important aspect in professional software development, both to avoid and identify bugs as well as to increase maintainability. However, increasing the number of tests beyond a reasonable amount hinders development progress. To…

Programming Languages · Computer Science 2022-05-23 Alexandros Efremidis , Joshua Schmidt , Sebastian Krings , Philipp Körner

The paper describes an approach to implementing genetic programming, which uses the LLVM library to just-in-time compile/interpret the evolved abstract syntax trees. The solution is described in some detail, including a parser (based on…

Neural and Evolutionary Computing · Computer Science 2017-01-23 Michal Gregor , Juraj Spalek

Industrial robotic systems (IRS) are increasingly deployed in diverse environments, where failures can result in severe accidents and costly downtime. Ensuring the reliability of the software controlling these systems is therefore critical.…

Robotics · Computer Science 2025-11-19 Marcela Gonçalves dos Santos , Sylvain Hallé , Fábio Petrillo

Large language models (LLMs) show promise in code translation due to their ability to generate idiomatic code. However, a significant limitation when using LLMs for code translation is scalability: existing works have shown a drop in…

Programming Languages · Computer Science 2024-12-12 Hanliang Zhang , Cristina David , Meng Wang , Brandon Paulsen , Daniel Kroening

Mutation testing consists of generating test cases that detect faults injected into software (generating mutants) which its original test suite could not. By running such an augmented set of test cases, it may discover actual faults that…

Software Engineering · Computer Science 2024-06-05 Jaekwon Lee , Enrico Viganò , Fabrizio Pastore , Lionel Briand