145 research outputs found
QChecker: Detecting Bugs in Quantum Programs via Static Analysis
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.Comment: This paper will be appeared in the proceedings of the 4th
International Workshop on Quantum Software Engineering (Q-SE 2023) on May 14,
202
A Comparative Analysis on Volatility and Scalability Properties of Blockchain Compression Protocols
Increasing popularity of trading digital assets can lead to significant
delays in Blockchain networks when processing transactions. When transaction
fees become miners' primary revenue, an imbalance in reward may lead to miners
adopting deviant mining strategies. Scaling the block capacity is one of the
potential approaches to alleviate the problem. To address this issue, this
paper reviews and evaluates six state-of-the-art compression protocols for
Blockchains. Specifically, we designed a Monte Carlo simulation to simulate two
of the six protocols to observe their compression performance under larger
block capacities. Furthermore, extensive simulation experiments were conducted
to observe the mining behaviour when the block capacity is increased.
Experimental results reveal an interesting trade-off between volatility and
scalability. When the throughput is higher than a critical point, it worsens
the volatility and threatens Blockchain security. In the experiments, we
further analyzed the relationship between volatility and scalability properties
with respect to the distribution of transaction values. Based on the analysis
results, we proposed the recommended maximum block size for each protocol. At
last, we discuss the further improvement of the compression protocols
An Empirical Study of Bugs in Quantum Machine Learning Frameworks
Quantum computing has emerged as a promising domain for the machine learning
(ML) area, offering significant computational advantages over classical
counterparts. With the growing interest in quantum machine learning (QML),
ensuring the correctness and robustness of software platforms to develop such
QML programs is critical. A necessary step for ensuring the reliability of such
platforms is to understand the bugs they typically suffer from. To address this
need, this paper presents the first comprehensive study of bugs in QML
frameworks. We inspect 391 real-world bugs collected from 22 open-source
repositories of nine popular QML frameworks. We find that 1) 28% of the bugs
are quantum-specific, such as erroneous unitary matrix implementation, calling
for dedicated approaches to find and prevent them; 2) We manually distilled a
taxonomy of five symptoms and nine root cause of bugs in QML platforms; 3) We
summarized four critical challenges for QML framework developers. The study
results provide researchers with insights into how to ensure QML framework
quality and present several actionable suggestions for QML framework developers
to improve their code quality.Comment: This paper will be appeared in the proceedings of the 2023 IEEE
International Conference on Quantum Software (QSW 2023), July 2-8, 202
Passivity-Based Co-Design of Active Damping and Voltage Controller for Converter-Based Grid Emulator
Minimizing Block Incentive Volatility Through Verkle Tree-Based Dynamic Transaction Storage
Transaction fees are a crucial revenue source for miners in public and
consortium blockchains. However, while public blockchains have additional
revenue streams, transaction fees serve as the primary income for miners in
consortium blockchains formed by various financial institutions. These miners
allocate different levels of computing resources to process transactions and
earn corresponding fees. Nonetheless, relying solely on transaction fees can
lead to significant volatility and encourage non-standard mining behaviors,
thereby posing threats to the blockchain's security and integrity. Despite
previous attempts to mitigate the impact of transaction fees on illicit mining
behaviors, a comprehensive solution to this vulnerability is yet to be
established. To address this gap, we introduce a novel approach that leverages
Dynamic Transaction Storage (DTS) strategies to effectively minimize block
incentive volatility. Our solution implements a Verkle tree-based storage
mechanism to reduce bandwidth consumption. Moreover, to configure the DTS
strategies, we evaluate several optimization algorithms and formulate the
challenge as a Vehicle Routing Problem. Our experiments conducted using
historical transactions from Bitcoin and remittance data from the Industrial
and Commercial Bank of China reveal that the strategy focusing on time-based
transaction incorporation priority, while excluding a designated space for
small-fee transactions, as discovered by the gradient-based optimizer
algorithm, proves most effective in reducing volatility. Hence, the DTS
strategy can sustain stable block incentives irrespective of transaction types
or user bidding behavior. Furthermore, the inclusion of higher-fee
transactions, often smaller in size, can alleviate propagation delays and the
occurrence of forks
- …