Saved in:
| Main Author: | |
|---|---|
| Format: | Recurso digital |
| Language: | |
| Published: |
Zenodo
2026
|
| Online Access: | https://doi.org/10.5281/zenodo.19232775 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Table of Contents:
- <div dir="auto"> <h1>Qrep</h1> <a href="https://github.com/EnautMendi/Qrep#qrep"></a></div> <p dir="auto">Qrep is an automated quantum circuit repair and fault localisation approach that iteratively identifies and corrects faulty gates by applying candidate patches across the circuit and assigning a suspiciousness score to each gate, reflecting its likelihood of being faulty. Guided by these scores, Qrep focuses on the most suspicious gates in subsequent iterations, narrowing the search space and improving repair efficiency. Qrep was evaluated on 40 faulty circuits, achieving a repair success rate of 70%. For circuits that were not fully repaired, the actual faulty gate was ranked among the top 44% most suspicious gates, demonstrating its effectiveness in fault localisation.</p> <div dir="auto"> <h3>Main Steps</h3> <a href="https://github.com/EnautMendi/Qrep#main-steps"></a></div> <p dir="auto">1-Fault Localisation – Computes gate-level suspiciousness scores to identify likely faulty gates.</p> <p dir="auto">2-Patch Generation – Generates candidate gate-based modifications to correct faults.</p> <p dir="auto">3-Repair – Applies patches iteratively, focusing on the most suspicious gates to efficiently repair the circuit.</p> <div dir="auto"> <h2>Repository Structure</h2> <a href="https://github.com/EnautMendi/Qrep#repository-structure"></a></div> <p dir="auto">The repository is organised as follows:</p> <div dir="auto"> <h3>Code Files</h3> <a href="https://github.com/EnautMendi/Qrep#code-files"></a></div> <ul> <li><strong><code>main.py</code></strong> – Implements our automatic quantum program repair approach.</li> <li><strong><code>main_random_search.py</code></strong> – Implements a random search baseline.</li> <li><strong><code>circuit_execution.py</code></strong> – Provides shared circuit execution functions.</li> <li><strong><code>patch_generation.py</code></strong> – Generates candidate patches for repair.</li> <li><strong><code>execute_experiment.py</code></strong> – Runs the full set of experiments.</li> <li><strong><code>python_to_qasm.py</code></strong> – Converts Python-based quantum programs to QASM.</li> <li><strong><code>qulacs_to_qasm.py</code></strong> – Converts Qulacs circuits to QASM.</li> <li><strong><code>mutants_union_selection.py</code></strong> – Selects mutants for repair experiments.</li> <li><strong><code>check_results.ipynb</code></strong> – Notebook for analyzing experimental results.</li> </ul> <div dir="auto"> <h3><code>data/</code></h3> <a href="https://github.com/EnautMendi/Qrep#data"></a></div> <p dir="auto">Contains <strong>all data required for experiments</strong>, including:</p> <ul> <li><strong>Oracles</strong>: Specifications used to verify program correctness.</li> <li><strong>Original Programs</strong>: Correct quantum programs.</li> <li><strong>Mutants</strong>: Mutated program versions used to simulate faults.</li> <li><strong>Faulty Programs</strong>: Programs containing real faults.</li> </ul> <p dir="auto">All experimental inputs needed for reproducing the results are included here.</p> <div dir="auto"> <h3><code>results/</code></h3> <a href="https://github.com/EnautMendi/Qrep#results"></a></div> <p dir="auto">Contains results from the experiments, including outputs for the <strong>two baselines</strong>:</p> <ul> <li>Best patches for each experiment</li> <li>Gate suspiciousness list after each execution</li> </ul>