Litcius/Paper detail

QChecker: Detecting Bugs in Quantum Programs via Static Analysis

Pengzhan Zhao, Xiongfei Wu, Zhuo Li, Jianjun Zhao

202330 citationsDOI

Abstract

Static analysis is the process of analyzing software code without executing the software. It can help find bugs and potential problems in software that may only appear at runtime. Although many static analysis tools have been developed for classical software, due to the nature of quantum programs, these existing tools are unsuitable for analyzing quantum programs. This paper presents QChecker, a static analysis tool that supports finding bugs in quantum programs in Qiskit. QChecker consists of two main modules: a module for extracting program information based on abstract syntax tree (AST), and a module for detecting bugs based on patterns. We evaluate the performance of QChecker using the Bugs4Q benchmark. The evaluation results show that QChecker can effectively detect various bugs in quantum programs.

Topics & Concepts

Static analysisComputer scienceBenchmark (surveying)Software bugSoftwareStatic program analysisAbstract syntax treeProgramming languageCode (set theory)Process (computing)QuantumSyntaxProgram analysisTheoretical computer scienceSoftware developmentParsingArtificial intelligencePhysicsSet (abstract data type)Quantum mechanicsGeodesyGeographyQuantum Computing Algorithms and ArchitectureQuantum Information and CryptographyCloud Computing and Resource Management
QChecker: Detecting Bugs in Quantum Programs via Static Analysis | Litcius