As quantum computing transitions from a theoretical domain to a practical technology, many aspects of established practice in software engineering are being faced with new challenges. Quantum Software Engineering has been developed to address the peculiar needs that arise with quantum systems’ dependable, scalable, and fault-tolerant software development. The present paper critically reviews how traditional software engineering methodologies can be reshaped to fit into the quantum field. This also entails providing some critical contributions: frameworks to integrate classical and quantum systems, new error mitigation techniques, and the development of quantum-specific testing and debugging tools. In this respect, best practices have been recommended to ensure that future quantum software can harness the evolving capabilities of quantum hardware with continued performance, reliability, and scalability. The work is supposed to act as a foundational guide for the researcher and developer as quantum computing approaches widespread scientific and industrial adoption.
References
[1]
Harrow, A.W. and Montanaro, A. (2017) Quantum Computational Supremacy. Nature, 549, 203-209. https://doi.org/10.1038/nature23458
[2]
Uehara, G.S., Spanias, A. and Clark, W. (2021) Quantum Information Processing Algorithms with Emphasis on Machine Learning. 2021 12th International Conference on Information, Intelligence, Systems & Applications (IISA), Chania Crete, 12-14 July 2021, 1-11. https://doi.org/10.1109/iisa52424.2021.9555570
[3]
Pérez-Castillo, R., Serrano, M.A. and Piattini, M. (2021) Software Modernization to Embrace Quantum Technology. Advances in Engineering Software, 151, Article ID: 102933. https://doi.org/10.1016/j.advengsoft.2020.102933
[4]
Choe, S. and Perkowski, M. (2022) Continuous Variable Quantum MNIST Classifiers—Classical-Quantum Hybrid Quantum Neural Networks. Journal of Quantum Information Science, 12, 37-51. https://doi.org/10.4236/jqis.2022.122005
[5]
Rüde, U., Willcox, K., McInnes, L.C. and Sterck, H.D. (2018) Research and Education in Computational Science and Engineering. SIAM Review, 60, 707-754. https://doi.org/10.1137/16m1096840
[6]
Duan, H. (2022) The Principles, Algorithms and State-of-Art Applications of Quantum Computing. Journal of Physics: Conference Series, 2386, Article ID: 012025. https://doi.org/10.1088/1742-6596/2386/1/012025
[7]
Avizienis, A., Laprie, J., Randell, B. and Landwehr, C. (2004) Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing, 1, 11-33. https://doi.org/10.1109/tdsc.2004.2
[8]
García de la Barrera, A., García‐Rodríguez de Guzmán, I., Polo, M. and Piattini, M. (2021) Quantum Software Testing: State of the Art. Journal of Software: Evolution and Process, 35, e2419. https://doi.org/10.1002/smr.2419
[9]
Jozsa, R. (1997) Complexity and Algorithms in Quantum Computation. IEE Colloquium on Quantum Computing: Theory, Applications and Implications, London. https://doi.org/10.1049/ic:19970792
[10]
Britt, K.A., Mohiyaddin, F.A. and Humble, T.S. (2017) Quantum Accelerators for High-Performance Computing Systems. 2017 IEEE International Conference on Rebooting Computing (ICRC), Washington DC, 8-9 November 2017, 1-7. https://doi.org/10.1109/icrc.2017.8123664
[11]
Van Vliet, H., Van Vliet, H. and Van Vliet, J.C. (2008) Software Engineering: Principles and Practice (Vol. 13). John Wiley & Sons. https://gnindia.dronacharya.info/CSE/6thSem/Downloads/Software-Engineering/Books/Software-Engineering-text-book-5.pdf
[12]
Carbonelli, C., Felderer, M., Jung, M., Lobe, E., Lochau, M., Luber, S., et al. (2024) Challenges for Quantum Software Engineering: An Industrial Application Scenario Perspective. In: Quantum Software, Springer Nature Switzerland, 311-335. https://doi.org/10.1007/978-3-031-64136-7_12
[13]
Camps, D., Van Beeumen, R. and Yang, C. (2020) Quantum Fourier Transform Revisited. Numerical Linear Algebra with Applications, 28, e2331. https://doi.org/10.1002/nla.2331
[14]
Asfaw, A., Blais, A., Brown, K.R., Candelaria, J., Cantwell, C., Carr, L.D., et al. (2022) Building a Quantum Engineering Undergraduate Program. IEEE Transactions on Education, 65, 220-242. https://doi.org/10.1109/te.2022.3144943
Hughes, C., Finke, D., German, D., Merzbacher, C., Vora, P.M. and Lewandowski, H.J. (2022) Assessing the Needs of the Quantum Industry. IEEE Transactions on Education, 65, 592-601. https://doi.org/10.1109/te.2022.3153841
[17]
Khan, A.A., Ahmad, A., Waseem, M., Liang, P., Fahmideh, M., Mikkonen, T., et al. (2023) Software Architecture for Quantum Computing Systems—A Systematic Review. Journal of Systems and Software, 201, Article 111682. https://doi.org/10.1016/j.jss.2023.111682
[18]
Khan, A.A., Taibi, D. and Perrault, C.M. (2024) Advancing Quantum Software Engineering: A Vision of Hybrid Full-Stack Iterative Model. https://www.researchgate.net/profile/Arif-Khan-23/publication/378077106_Advancing_Quantum_Software_Engineering_A_Vision_of_Hybrid_Full-Stack_Iterative_Model/links/65c5f6081bed776ae3395b01/Advancing-Quantum-Software-Engineering-A-Vision-of-Hybrid-Full-Stack-Iterative-Model.pdf
[19]
Gulania, S., Gray, S., Peng, B., Govind, N. and Alexeev, Y. (2024) Quantum Error Mitigation and Correction Mediated by Yang-Baxter Equation and Artificial Neural Network. Bulletin of the American Physical Society. https://meetings.aps.org/Meeting/MAR24/Session/OD01.123
[20]
Ramalho, N.C.L., de Souza, H.A. and Chaim, M.L. (2024) Testing and Debugging Quantum Programs: The Road to 2030.
[21]
Weder, B., Barzen, J., Leymann, F. and Vietz, D. (2022) Quantum Software Development Lifecycle. In: Serrano, M.A., Pérez-Castillo, R. and Piattini, M., Eds., Quantum Software Engineering, Springer International Publishing, 61-83. https://doi.org/10.1007/978-3-031-05324-5_4
[22]
Dwivedi, K., Haghparast, M. and Mikkonen, T. (2024) Quantum Software Engineering and Quantum Software Development Lifecycle: A Survey. Cluster Computing, 27, 7127-7145. https://doi.org/10.1007/s10586-024-04362-1
[23]
Leau, Y.B., Loo, W.K., Tham, W.Y. and Tan, S.F. (2012) Software Development Life Cycle AGILE vs Traditional Approaches. International Conference on Information and Network Technology, 37, 162-167.
[24]
Ali, S., Yue, T. and Abreu, R. (2022) When Software Engineering Meets Quantum Computing. Communications of the ACM, 65, 84-88. https://doi.org/10.1145/3512340
[25]
Piattini, M., Peterssen, G. and Pérez-Castillo, R. (2020) Quantum Computing: A New Software Engineering Golden Age. ACM SIGSOFT Software Engineering Notes, 45, 12-14. https://doi.org/10.1145/3402127.3402131
[26]
Piattini, M., Serrano, M., Perez-Castillo, R., Petersen, G. and Hevia, J.L. (2021) Toward a Quantum Software Engineering. IT Professional, 23, 62-66. https://doi.org/10.1109/mitp.2020.3019522
[27]
Khan, A.A., Akbar, M.A., Ahmad, A., Fahmideh, M., Shameem, M., Lahtinen, V., et al. (2023) Agile Practices for Quantum Software Development: Practitioners’ Perspectives. 2023 IEEE International Conference on Quantum Software (QSW), Chicago, 2-8 July 2023, 9-20. https://doi.org/10.1109/qsw59989.2023.00012
[28]
Mangudo, P., Arroqui, M., Marcos, C. and Machado, C.F. (2012) Rescue of a Whole-Farm System: Crystal Clear in Action. International Journal of Agile and Extreme Software Development, 1, 6-22. https://doi.org/10.1504/ijaesd.2012.048306
[29]
Chapram, S.B. and Solutions, Z.I. (2018) An Appraisal of Agile DSDM Approach. International Journal of Advanced Studies in Computers, Science and Engineering, 7, 1-3.
[30]
Mahdavi-Hezave, R. and Ramsin, R. (2015) FDMD: Feature-Driven Methodology Development. Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering, Barcelona, 29-30 April 2015, 229-237. https://doi.org/10.5220/0005384202290237
[31]
Mehta, M., Anderson, D. and Raffo, D. (2008) Providing Value to Customers in Software Development through Lean Principles. Software Process: Improvement and Practice, 13, 101-109. https://doi.org/10.1002/spip.367
[32]
Hema, V., Thota, S., Naresh Kumar, S., Padmaja, C., Rama Krishna, C.B. and Mahender, K. (2020) Scrum: An Effective Software Development Agile Tool. IOP Conference Series: Materials Science and Engineering, 981, Article ID: 022060. https://doi.org/10.1088/1757-899x/981/2/022060
[33]
Kanazawa, N., Egger, D.J., Ben-Haim, Y., Zhang, H., Shanks, W.E., Aleksandrowicz, G., et al. (2023) Qiskit Experiments: A Python Package to Characterize and Calibrate Quantum Computers. Journal of Open Source Software, 8, Article No. 5329. https://doi.org/10.21105/joss.05329
[34]
Green, A.S., Lumsdaine, P.L., Ross, N.J., Selinger, P. and Valiron, B. (2013) An Introduction to Quantum Programming in Quipper. In: Dueck, G.W. and Miller, D.M., Eds., Reversible Computation, Springer, 110-124. https://doi.org/10.1007/978-3-642-38986-3_10
[35]
Bichsel, B., Baader, M., Gehr, T. and Vechev, M. (2020) Silq: A High-Level Quantum Language with Safe Uncomputation and Intuitive Semantics. Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, London, 15-20 June 2020, 286-300. https://doi.org/10.1145/3385412.3386007
[36]
Svore, K., Geller, A., Troyer, M., Azariah, J., Granade, C., Heim, B., et al. (2018) Q# Enabling Scalable Quantum Computing and Development with a High-Level DSL. Proceedings of the Real World Domain Specific Languages Workshop 2018, 24 February 2018, 1-10. https://doi.org/10.1145/3183895.3183901
[37]
Li, Y., Hsieh, C., Li, Y. and Li, J.C. (2023) Diagnosis of Quantum Circuits in the NISQ Era. 2023 IEEE 41st VLSI Test Symposium (VTS), San Diego, 24-26 April 2023, 1-7. https://doi.org/10.1109/vts56346.2023.10140030
[38]
Arute, F., Arya, K., Babbush, R., Bacon, D., Bardin, J.C., Barends, R., et al. (2020) Hartree-Fock on a Superconducting Qubit Quantum Computer. Science, 369, 1084-1089. https://doi.org/10.1126/science.abb9811
[39]
Mahmud, N. and El-Araby, E. (2018) Towards Higher Scalability of Quantum Hardware Emulation Using Efficient Resource Scheduling. 2018 IEEE International Conference on Rebooting Computing (ICRC), McLean, 7-9 November 2018, 1-10. https://doi.org/10.1109/icrc.2018.8638610
[40]
De Stefano, M., Pecorelli, F., Di Nucci, D., Palomba, F. and De Lucia, A. (2022) Software Engineering for Quantum Programming: How Far Are We? Journal of Systems and Software, 190, Article ID: 111326. https://doi.org/10.1016/j.jss.2022.111326
[41]
Kordzanganeh, M., Buchberger, M., Kyriacou, B., Povolotskii, M., Fischer, W., Kurkin, A., et al. (2023) Benchmarking Simulated and Physical Quantum Processing Units Using Quantum and Hybrid Algorithms. Advanced Quantum Technologies, 6, Article ID: 2300043. https://doi.org/10.1002/qute.202300043
[42]
Haghparast, M., Mikkonen, T., Nurminen, J.K. and Stirbu, V. (2023) Quantum Software Engineering Challenges from Developers’ Perspective: Mapping Research Challenges to the Proposed Workflow Model. 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), Bellevue, 17-22 September 2023, 173-176. https://doi.org/10.1109/qce57702.2023.10204
[43]
Spoletini, P. (2023) Towards Quantum Requirements Engineering. 2023 IEEE 31st International Requirements Engineering Conference Workshops (REW), Hannover, 4-5 September 2023, 371-374. https://doi.org/10.1109/rew57809.2023.00072
[44]
Cobb, A., Schneider, J. and Lee, K. (2022) Towards Higher-Level Abstractions for Quantum Computing. Australasian Computer Science Week 2022, Brisbane, 14-18 February 2022, 115-124. https://doi.org/10.1145/3511616.3513106
[45]
Stirbu, V. and Mikkonen, T. (2023) Software Architecture Challenges in Integrating Hybrid Classical-Quantum Systems. 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), Vol. 2, 203-204. https://doi.org/10.1109/qce57702.2023.10212
[46]
Gill, S.S., Kumar, A., Singh, H., Singh, M., Kaur, K., Usman, M., et al. (2021) Quantum Computing: A Taxonomy, Systematic Review and Future Directions. Software: Practice and Experience, 52, 66-114. https://doi.org/10.1002/spe.3039
[47]
Gill, S.S., Xu, M., Ottaviani, C., Patros, P., Bahsoon, R., Shaghaghi, A., et al. (2022) AI for Next Generation Computing: Emerging Trends and Future Directions. Internet of Things, 19, Article ID: 100514. https://doi.org/10.1016/j.iot.2022.100514
[48]
Jenet, A. (2020) Standards4Quantum: Making Quantum Technology Ready for Industry. Putting Science into Standards. SSRN Electronic Journal. https://doi.org/10.2139/ssrn.3888296
[49]
Fox, M.F.J., Zwickl, B.M. and Lewandowski, H.J. (2020) Preparing for the Quantum Revolution: What Is the Role of Higher Education? Physical Review Physics Education Research, 16, Article ID: 020131. https://doi.org/10.1103/physrevphyseducres.16.020131