Karine Even-Mendoza

dblp:132/2608 · also Karine Even, Karine Mendoza · DBLP profile ↗
← Back
24ranked-venue papers
7as first author
18since 2021 · last 2026
0000-0002-3099-1189ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 22 · 7 first-author · 18 since 2021Artificial intelligence and machine learning · 11 · 2 first-author · 9 since 2021Theory of computation · 3 · 1 first-author
YearPublicationVenuePosition
2026 Toward Live Noise Fingerprinting for Discrepancy Analysis in Quantum Software Engineering
Avner Bensoussan, Elena Chachkarova, Karine Even-Mendoza, Sophie Fortz, Vasileios Klimis, Mohammad Reza Mousavi 0001
ICST3
2026 VFL-Searcher: Optimizing Stealthy Adversarial Dominating Inputs
Pichsereyvattana Chan, Karine Even-Mendoza, Harel Berger
SSBSE2
2026 ApkFuzz : Search-Based Fuzzing for Android APK Vulnerability Discovery
Karine Even-Mendoza, Aidan Dakhama, Harel Berger
SSBSE1
2026 Fuzz3 : Entropy as a Third Oracle
Karine Even-Mendoza, Janine Obiri, Aidan Dakhama, Phil McMinn, William B. Langdon
SSBSE1
2025 LLM-Guided Genetic Improvement: Envisioning Semantic Aware Automated Software Evolution
Karine Even-Mendoza, Alexander E. I. Brownlee, Alina Geiger, Carol Hanna, Justyna Petke, Federica Sarro, Dominik Sobania
ASE1
2025 ReFuzzer: Feedback-Driven Approach to Enhance Validity of LLM-Generated Test Programs
Iti Shree, Karine Even-Mendoza, Tomasz Radzik
ASE2
2025 HotCat: Green and Effective Feature Selection toward Hotfix Bug Taxonomy
Luis De La Cal, Yazhuo Cao, Ayse Irmak Ercevik, Giovanni Pinna, Lukas Twist, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Federica Sarro
SSBSE7
2025 GreenMalloc: Allocator Optimisation for Industrial Workloads
Aidan Dakhama, William B. Langdon, Héctor D. Menéndez 0001, Karine Even-Mendoza
SSBSE4
2025 GA4GC: Greener Agent for Greener Code via Multi-objective Configuration Optimization
Jingzhi Gong, Yixin Bian, Luis De La Cal, Giovanni Pinna, Anisha Uteem, Mar Zamorano López, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Federica Sarro
SSBSE8
2025 Large language model based mutations in genetic improvement
abstract
Abstract Ever since the first large language models (LLMs) have become available, both academics and practitioners have used them to aid software engineering tasks. However, little research as yet has been done in combining search-based software engineering (SBSE) and LLMs. In this paper, we evaluate the use of LLMs as mutation operators for genetic improvement (GI), an SBSE approach, to improve the GI search process. In a preliminary work, we explored the feasibility of combining the Gin Java GI toolkit with OpenAI LLMs in order to generate an edit for the tool. Here we extend this investigation involving three LLMs and three types of prompt, and five real-world software projects. We sample the edits at random, as well as using local search. We also conducted a qualitative analysis to understand why LLM-generated code edits break as part of our evaluation. Our results show that, compared with conventional statement GI edits, LLMs produce fewer unique edits, but these compile and pass tests more often, with the model finding test-passing edits 77% of the time. The and LLMs are roughly equal in finding the best run-time improvements. Simpler prompts are more successful than those providing more context and examples. The qualitative analysis reveals a wide variety of areas where LLMs typically fail to produce valid edits commonly including inconsistent formatting, generating non-Java syntax, or refusing to provide a solution.
Alexander E. I. Brownlee, James Callan, Karine Even-Mendoza, Alina Geiger, Carol Hanna, Justyna Petke, Federica Sarro, Dominik Sobania
Autom. Softw. Eng.3
2025 Enhancing search-based testing with LLMs for finding bugs in system simulators
abstract
Abstract Despite the wide availability of automated testing techniques such as fuzzing, little attention has been devoted to testing computer architecture simulators. We propose a fully automated approach for this task. Our approach uses large language models (LLM) to generate input programs, including information about their parameters and types, as test cases for the simulators. The LLM’s output becomes the initial seed for an existing fuzzer, , which has been enhanced with three mutation operators, targeting both the input binary program and its parameters. We implement our approach in a tool called . We use it to test the system simulator. discovered 21 new bugs in , 14 where ’s software prediction differs from the real behaviour on actual hardware, and 7 where it crashed. New defects were uncovered with each of the 6 LLMs used.
Aidan Dakhama, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Justyna Petke
Autom. Softw. Eng.2
2025 AccelerQ: Accelerating Quantum Eigensolvers with Machine Learning on Quantum Simulators
abstract
We present AccelerQ , a framework for automatically tuning quantum eigensolver (QE) implementations– these are quantum programs implementing a specific QE algorithm–using machine learning and searchbased optimisation. Rather than redesigning quantum algorithms or manually tweaking the code of an already existing implementation, AccelerQ treats QE implementations as black-box programs and learns to optimise their hyperparameters to improve accuracy and efficiency by incorporating search-based techniques and genetic algorithms (GA) alongside ML models to efficiently explore the hyperparameter space of QE implementations and avoid local minima. Our approach leverages two ideas: 1) train on data from smaller, classically simulable systems, and 2) use program-specific ML models, exploiting the fact that local physical interactions in molecular systems persist across scales, supporting generalisation to larger systems. We present an empirical evaluation of AccelerQ on two fundamentally different QE implementations: ADAPT-QSCI and QCELS. For each, we trained a QE predictor model, a lightweight XGBoost Python regressor, using data extracted classically from systems of up to 16 qubits. We deployed the model to optimise hyperparameters for executions on larger systems of 20-, 24-, and 28-qubit Hamiltonians, where direct classical simulation becomes impractical. We observed a reduction in error from 5.48% to 5.3% with only the ML model and further to 5.05% with GA for ADAPT-QSCI, and from 7.5% to 6.5%, with no additional gain with GA for QCELS. Given inconclusive results for some 20- and 24-qubit systems, we recommend further analysis of training data concerning Hamiltonian characteristics. Nonetheless, our results highlight the potential of ML and optimisation techniques for quantum programs and suggest promising directions for integrating software engineering methods into quantum software stacks.
Avner Bensoussan, Elena Chachkarova, Karine Even-Mendoza, Sophie Fortz, Connor Lenihan
Proc. ACM Program. Lang.3
2025 Shaking Up Quantum Simulators with Fuzzing and Rigour
abstract
Quantum computing platforms rely on simulators for modelling circuit behaviour prior to hardware execution, where inconsistencies can lead to costly errors. While existing formal validation methods typically target specific compiler components to manage state explosion, they often miss critical bugs. Meanwhile, conventional testing lacks systematic exploration of corner cases and realistic execution scenarios, resulting in both false positives and negatives. We present FuzzQ, a novel framework that bridges this gap by combining formal methods with structured test generation and fuzzing for quantum simulators. Our approach employs differential benchmarking complemented by mutation testing and invariant checking. At its core, FuzzQ utilises our Alloy-based formal model of QASM 3.0, which encodes the semantics of quantum circuits to enable automated analysis and to generate structurally diverse, constraint-guided quantum circuits with guaranteed properties. We introduce several test oracles to assess both Alloy’s modelling of QASM 3.0 and simulator correctness, including invariant-based checks, statistical distribution tests, and a novel cross-simulator unitary consistency check that verifies functional equivalence modulo global phase, revealing discrepancies that standard statevector comparisons fail to detect in cross-platform differential testing. We evaluate FuzzQ on both Qiskit and Cirq, demonstrating its platform-agnostic effectiveness. By executing over 800,000 quantum circuits to completion, we assess throughput, code and circuit coverage, and simulator performance metrics, including sensitivity, correctness, and memory overhead. Our analysis revealed eight simulator bugs, six previously undocumented. We also outline a path for extending the framework to support mixed-state simulations under realistic noise models.
Vasileios Klimis, Avner Bensoussan, Elena Chachkarova, Karine Even-Mendoza, Sophie Fortz, Connor Lenihan
Proc. ACM Program. Lang.4
2023 GrayC: Greybox Fuzzing of Compilers and Analysers for C
abstract
Fuzzing of compilers and code analysers has led to a large number of bugs being found and fixed in widely-used frameworks such as LLVM, GCC and Frama-C. Most such fuzzing techniques have taken a blackbox approach, with compilers and code analysers starting to become relatively immune to such fuzzers.
Karine Even-Mendoza, Arindam Sharma, Alastair F. Donaldson, Cristian Cadar
ISSTA1
2023 StableYolo: Optimizing Image Generation for Large Language Models
Harel Berger, Aidan Dakhama, Zishuo Ding, Karine Even-Mendoza, David A. Kelly, Héctor D. Menéndez 0001, Rebecca Moussa, Federica Sarro
SSBSE4
2023 Enhancing Genetic Improvement Mutations Using Large Language Models
Alexander E. I. Brownlee, James Callan, Karine Even-Mendoza, Alina Geiger, Carol Hanna, Justyna Petke, Federica Sarro, Dominik Sobania
SSBSE3
2023 SearchGEM5: Towards Reliable Gem5 with Search Based Software Testing and Large Language Models
Aidan Dakhama, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Justyna Petke
SSBSE2
2022 CsmithEdge: more effective compiler testing by handling undefined behaviour less conservatively
abstract
Abstract Compiler fuzzing techniques require a means of generating programs that are free from undefined behaviour (UB) to reliably reveal miscompilation bugs. Existing program generators such as Csmith achieve UB-freedom by heavily restricting the form of generated programs. The idiomatic nature of the resulting programs risks limiting the test coverage they can offer, and thus the compiler bugs they can discover. We investigate the idea of adapting existing fuzzers to be less restrictive concerning UB, in the practical setting of C compiler testing via a new tool, CsmithEdge, which extends Csmith. CsmithEdge probabilistically weakens the constraints used to enforce UB-freedom, thus generated programs are no longer guaranteed to be UB-free. It then employs several off-the-shelf UB detection tools and a novel dynamic analysis to (a) detect cases where the generated program exhibits UB and (b) determine where Csmith has been too conservative in its use of safe math wrappers that guarantee UB-freedom for arithmetic operations, removing the use of redundant ones. The resulting UB-free programs can be used to test for miscompilation bugs via differential testing. The non-UB-free programs can still be used to check that the compiler under test does not crash or hang. Our experiments on recent versions of GCC, LLVM and the Microsoft Visual Studio Compiler show that CsmithEdge was able to discover 7 previously unknown miscompilation bugs (5 already fixed in response to our reports) that could not be found via intensive testing using Csmith, and 2 compiler-hang bugs that were fixed independently shortly before we considered reporting them.
Karine Even-Mendoza, Cristian Cadar, Alastair F. Donaldson
Empir. Softw. Eng.1
2020 Closer to the Edge: Testing Compilers More Thoroughly by Being Less Conservative About Undefined Behaviour
abstract
Randomised compiler testing techniques require a means of generating programs that are free from undefined behaviour (UB) in order to reliably reveal miscompilation bugs. Existing program generators such asCsmithheavily restrict the form of generated programs inorder to achieve UB-freedom. We hypothesise that the idiomatic nature of such programs limits the test coverage they can offer. Our idea is to generate less restricted programs that are still UB-free—programs that get closer to the edge of UB, but that do not quite cross the edge. We present preliminary support for our idea via a prototype tool, CsmithEdge, which uses simple dynamic analysis to determine whereCsmithhas been too conservative in its use of safe math rappers that guarantee UB-freedom for arithmetic operations. By eliminating redundant wrappers,CsmithEdge was able to discover two new miscompilation bugs in GCC that could not be found via intensive testing using regular Csmith, and to achieve substantial differences in code coverage on GCC compared with regular Csmith.
Karine Even-Mendoza, Cristian Cadar, Alastair F. Donaldson
ASE1
2019 Lattice-based SMT for program verification
abstract
We present a lattice-based satisfiability modulo theory for verification of programs with library functions, for which the mathematical libraries supporting these functions contain a high number of equations and inequalities. Common strategies for dealing with library functions include treating them as uninterpreted functions or using the theories under which the functions are fully defined. The full definition could in most cases lead to instances that are too large to solve efficiently.
Karine Even-Mendoza, Antti Eero Johannes Hyvärinen, Hana Chockler, Natasha Sharygina
MEMOCODE1
2018 Function Summarization Modulo Theories
abstract
SMT-based program verification can achieve high precision using bit-precise models or combinations of different theories. Often such approaches suffer from problems related to scalability due to the complexity of the underlying decision procedures. Precision is traded for performance by increasing the abstraction level of the model. As the level of abstraction increases, missing important details of the program model becomes problematic. In this paper we address this problem with an incremental verification approach that alternates precision of the program modules on demand. The idea is to model a program using the lightest possible (i.e., less expensive) theories that suffice to verify the desired property. To this end, we employ safe over-approximations for the program based on both function summaries and light-weight SMT theories. If during verification it turns out that the precision is too low, our approach lazily strengthens all affected summaries or the theory through an iterative refinement procedure. The resulting summarization framework provides a natural and light-weight approach for carrying information between different theories. An experimental evaluation with a bounded model checker for C on a wide range of benchmarks demonstrates that our approach scales well, often effortlessly solving instances where the state-of-the-art model checker CBMC runs out of time or memory.
Sepideh Asadi, Martin Blicha, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Karine Even-Mendoza, Natasha Sharygina, Hana Chockler
LPAR5
2017 Theory Refinement for Program Verification
Antti Eero Johannes Hyvärinen, Sepideh Asadi, Karine Even-Mendoza, Grigory Fedyukovich, Hana Chockler, Natasha Sharygina
SAT3
2017 HiFrog: SMT-based Function Summarization for Software Verification
Leonardo Alt, Sepideh Asadi, Hana Chockler, Karine Even-Mendoza, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina
TACAS (2)4
2013 Finding rare numerical stability errors in concurrent computations
abstract
A numerical algorithm is called stable if an error, in all possible executions of the algorithm, does not exceed a predefined bound. Introduction of concurrency to numerical algorithms results in a significant increase in the number of possible computations of the same result, due to different possible interleavings of concurrent threads. This can lead to instability of previously stable algorithms, since rounding can result in a larger error than expected for some interleavings. Such errors can be very rare, since the particular combination of rounding can occur in only a small fraction of interleavings. In this paper, we apply the cross-entropy method -- a generic approach to rare event simulation and combinatorial optimization -- to detect rare numerical instability in concurrent programs. The cross-entropy method iteratively samples a small number of executions and adjusts the probability distribution of possible scheduling decisions to increase the probability of encountering an error in a subsequent iteration. We demonstrate the effectiveness of our approach on implementations of several numerical algorithms with concurrency and rounding by truncation of intermediate computations. We describe several abstraction algorithms on top of the implementation of the cross-entropy method and show that with abstraction, our algorithms successfully find rare errors in programs with hundreds of threads. In fact, some of our abstractions lead to a state space whose size does not depend on the number of threads at all. We compare our approach to several existing testing algorithms and argue that its performance is superior to other techniques.
Hana Chockler, Karine Even-Mendoza, Eran Yahav
ISSTA2