On Refactoring Quantum Programs
Jianjun Zhao

TL;DR
This paper introduces specialized refactoring techniques for quantum programs, addressing the unique properties of quantum computing to improve software maintainability and efficiency.
Contribution
It presents a comprehensive set of quantum-specific refactorings and emphasizes the need for tool support, applicable across various quantum programming languages.
Findings
Developed quantum-specific refactoring techniques
Demonstrated applicability to Q# and other languages
Highlighted importance of automation tools
Abstract
Refactoring is a crucial technique for improving the efficiency and maintainability of software by restructuring its internal design while preserving its external behavior. While classical programs have benefited from various refactoring methods, the field of quantum programming lacks dedicated refactoring techniques. The distinct properties of quantum computing, such as quantum superposition, entanglement, and the no-cloning principle, necessitate specialized refactoring techniques. This paper bridges this gap by presenting a comprehensive set of refactorings specifically designed for quantum programs. Each refactoring is carefully designed and explained to ensure the effective restructuring of quantum programs. Additionally, we highlight the importance of tool support in automating the refactoring process for quantum programs. Although our study focuses on the quantum programming…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsQuantum Computing Algorithms and Architecture · Logic, programming, and type systems · Distributed systems and fault tolerance
