Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
review-article

Quantum software engineering and quantum software development lifecycle: a survey

Published: 25 March 2024 Publication History

Abstract

Quantum software engineering is advancing in the domain of quantum computing research and application, yet the documentation is scattered. The slow transition from Von-Neumann based computation systems to quantum systems, and conserving the fundamental computing principles in software development and software engineering helps in enrichment of quantum software development. The evolution of quantum computing over the past years shows a shift in the domain of classical computation to quantum computation in the years to come. Future applications such as, quantum AI and quantum machine learning will benefit from quantum software engineering. This survey collects and explores the various documentations in the domain of quantum systems and quantum software engineering. The survey provides an in-depth exploration of quantum programming languages, which is combined with explanations of quantum computing’s fundamentals. The review also goes in-depth about quantum software engineering and quantum software life cycle development, outlining the quantum software reuse methodology that is introduced in the quantum software lifecycle development domain.

References

[1]
Endo S, Cai Z, Benjamin SC, and Yuan X Hybrid quantum-classical algorithms and quantum error mitigation J. Phys. Soc. Jpn. 2021 90 3 032001
[2]
Huang, Y., Martonosi, M.: Qdb: from quantum algorithms towards correct quantum programs. arXiv preprint arXiv:1811.05447 (2018)
[3]
Nielsen, M.A., Chuang, I.L.: Quantum computation and quantum information (2010)
[4]
Ying M, Duan R, Feng Y, and Ji Z Predicate transformer semantics of quantum programs Semant. Tech. Quantum Comput. 2010 8 311-360
[5]
Yan P, Jiang H, and Yu N On incorrectness logic for quantum programs Proc. ACM Program. Lang. 2022 6 OOPSLA1 1-28
[6]
Mielke A and Ricken T Evaluating artificial neural networks and quantum computing for mechanics Pamm 2019 19 1 201900470
[7]
Zhao, J.: Quantum Software Engineering: Landscapes and Horizons.(2020), (2007)
[8]
Einstein A, Podolsky B, and Rosen N Can quantum-mechanical description of physical reality be considered complete? Phys. Rev. 1935 47 10 777
[9]
Endo S, Benjamin SC, and Li Y Practical quantum error mitigation for near-future applications Phys. Rev. X 2018 8 3 031027
[10]
Smith, R.S., Curtis, M.J., Zeng, W.J.: A practical quantum instruction set architecture. arXiv preprint arXiv:1608.03355 (2016)
[11]
Bernstein, E., Vazirani, U.: Quantum Complexity Theory, (1993)
[12]
Dwivedi, K., Nigam, A.: Quantum deep learning for phoniatrics biomarker based disease detection deep learning model for disease detection by phoniatrics biomarkers using quantum computation. In: 2nd International Conference on Data, Engineering and Applications (IDEA), pp. 1–8 (2020). IEEE
[13]
Hassija V, Chamola V, Saxena V, Chanana V, Parashari P, Mumtaz S, and Guizani M Present landscape of quantum computing IET Quantum Commun. 2020 1 2 42-48
[14]
Awan U, Hannola L, Tandon A, Goyal RK, and Dhir A Quantum computing challenges in the software industry a fuzzy ahp-based approach Inf. Softw. Technol. 2022 147 106896
[15]
Ajagekar A, Humble T, and You F Quantum computing based hybrid solution strategies for large-scale discrete-continuous optimization problems Comput. Chem. Eng. 2020 132 106630
[16]
Zhao, J.: Some size and structure metrics for quantum software. In: 2021 IEEE/ACM 2nd International Workshop on Quantum Software Engineering (Q-SE), pp. 22–27 (2021)
[17]
Mlnarık, H.: Quantum Programming Language LanQ, (2007)
[18]
Garcia-Alonso J, Rojo J, Valencia D, Moguel E, Berrocal J, and Murillo JM Quantum software as a service through a quantum api gateway IEEE Internet Comput. 2021 26 1 34-41
[19]
Serrano MA, Cruz-Lemus JA, Perez-Castillo R, and Piattini M Quantum software components and platforms: overview and quality assessment ACM Comput. Surv. 2022 55 8 1-31
[20]
Stepney S, Braunstein SL, Clark JA, Tyrrell A, Adamatzky A, Smith RE, Addis T, Johnson C, Timmis J, and Welch P Journeys in non-classical computation i: a grand challenge for computing research Int. J. Parallel Emerg. Distribut. Syst. 2005 20 1 5-19
[21]
Ömer, B.: Classical concepts in quantum programming, 2002. ArXiv. org: quant-ph/0211100
[22]
Preskill, J.: Quantum computing in the nisq era and beyond (2018). arXiv preprint arXiv:1801.0086261 (1801)
[23]
Almudever, C.G., Lao, L., Fu, X., Khammassi, N., Ashraf, I., Iorga, D., Varsamopoulos, S., Eichler, C., Wallraff, A., Geck, L., : The engineering challenges in quantum computing. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017, pp. 836–845 (2017). IEEE
[24]
Killoran N, Izaac J, Quesada N, Bergholm V, Amy M, and Weedbrook C Strawberry fields: A software platform for photonic quantum computing Quantum 2019 3 129
[25]
Khammassi, N., Guerreschi, G.G., Ashraf, I., Hogaboam, J.W., Almudever, C.G., Bertels, K.: CQASM v1.0: Towards a common quantum assembly language (2018) arXiv:1805.09607 [quant-ph]
[26]
Garhwal S, Ghorani M, and Ahmad A Quantum programming language: a systematic review of research topic and top cited languages Arch. Comput. Methods Eng. 2021 28 289-310
[27]
Moguel, E., Berrocal, J., García-Alonso, J., Murillo, J.M.: A roadmap for quantum software engineering: Applying the lessons learned from the classics. In: Q-SET@ QCE, pp. 5–13 (2020)
[28]
Boehm, B.: A view of 20th and 21st century software engineering. In: Proceedings of the 28th International Conference on Software Engineering, pp. 12–29 (2006)
[29]
Zhao X, Xu X, Qi L, Xia X, Bilal M, Gong W, and Kou H Unraveling quantum computing system architectures: an extensive survey of cutting-edge paradigms Inf. Softw. Technol. 2024 167 107380
[30]
Huang, Y., Martonosi, M.: Statistical assertions for validating patterns and finding bugs in quantum programs.(may 2019). Google Scholar Google Scholar Digital Library Digital Library (2019)
[31]
Leymann, F., Barzen, J., Falkenthal, M., Vietz, D., Weder, B., Wild, K.: Quantum in the cloud: application potentials and research opportunities. arXiv preprint arXiv:2003.06256 (2020)
[32]
Li, H., Khomh, F., Openja, M.: Understanding quantum software engineering challenges an empirical study on stack exchange forums and GitHub issues. In: 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 343–354 (2021)
[33]
Ali S, Yue T, and Abreu R When software engineering meets quantum computing Commun. ACM 2022 65 4 84-88
[34]
Barbosa, L.S.: Software engineering for’quantum advantage’. In: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, pp. 427–429 (2020)
[35]
Bass, L., Klein, M., Bachmann, F.: Quality Attribute Design Primitives, (2000)
[36]
Piattini M, Peterssen G, and Perez-Castillo R “Quantum computing: a new software engineering golden age ACM SIGSOFT Softw. Eng. 2020 45 3 12-14
[37]
Zuliani, P.: Quantum programming. PhD thesis, University of Oxford (2001)
[38]
Miszczak, J.A.: Models of quantum computation and quantum programming languages. arXiv preprint arXiv:1012.6035 (2010)
[39]
Akbar, M.A., Khan, A.A., Mahmood, S., Rafi, S.: Quantum software engineering: A new genre of computing. arXiv preprint arXiv:2211.13990 (2022)
[40]
Ali, S., Yue, T.: Quantum software testing: A brief introduction. In: 2023 IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), pp. 332–333 (2023). IEEE
[41]
Ali, S., Arcaini, P., Wang, X., Yue, T.: Assessing the effectiveness of input and output coverage criteria for testing quantum programs. In: 2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST), pp. 13–23 (2021). IEEE
[42]
Hietala, K.: Quantum programming languages (2016)
[43]
Gyongyosi L and Imre S A survey on quantum computing technology Comput. Sci. Rew. 2019 31 51-71
[44]
Cartiere, C.R.: Quantum software engineering: bringing the classical software engineering into the quantum domain. PhD thesis, Master’s Thesis, University of Oxford, Department of Computer Science (2013)
[45]
Grattage, J.: Qml: A functional quantum programming language. PhD thesis, University of Nottingham Nottingham, UK (2006)
[46]
Li G, Zhou L, Yu N, Ding Y, Ying M, and Xie Y Projection-based runtime assertions for testing and debugging quantum programs Proc. ACM Program. Languages 2020 4 1-29
[47]
Ramezani, S.B., Sommers, A., Manchukonda, H.K., Rahimi, S., Amirlatifi, A.: Machine learning algorithms in quantum computing: A survey. In: 2020 International Joint Conference on Neural Networks (IJCNN), pp. 1–8 (2020)
[48]
Kakutani, Y.: A logic for formal verification of quantum programs, (2009)
[49]
Orús R, Mugel S, and Lizaso E Quantum computing for finance: overview and prospects Rev. Phys. 2019 4 100028
[50]
Kumar A Formalization of structural test cases coverage criteria for quantum software testing Int. J. Theoretical Phys. 2023 62 3 49
[51]
Kumar, A., Kwatra, P., Garhwal, S.: Development of a tool for finding equivalent mutants in quantum program: a perspective to measure the quality of quantum software (2022)
[52]
Grubb, P., Takang, A.A.: Software Maintenance: Concepts and Practice, (2003)
[53]
Allouche, C., Baboulin, M., Brugière, T., Valiron, B.: Reuse method for quantum circuit synthesis. In: Recent Advances in Mathematical and Statistical Methods: IV AMMCS International Conference, Waterloo, Canada, August 20–25, 2017 IV, pp. 3–12 (2018). Springer
[54]
De Stefano M, Pecorelli F, Di Nucci D, Palomba F, and De Lucia A Software engineering for quantum programming: how far are we? J. Syst. Softw. 2022 190 111326
[55]
Zhao, P., Zhao, J., Ma, L.: Identifying bug patterns in quantum programs. In: 2021 IEEE/ACM 2nd International Workshop on Quantum Software Engineering (Q-SE), pp. 16–21 (2021). IEEE
[56]
Biamonte J, Wittek P, Pancotti N, Rebentrost P, Wiebe N, and Lloyd S Quantum machine learning Nature 2017 549 7671 195-202
[57]
DeCross M, Chertkov E, Kohagen M, and Foss-Feig M Qubit-reuse compilation with mid-circuit measurement and reset Phys. Rev. X 2023 13 4 041057
[58]
Vartiainen JJ, Möttönen M, and Salomaa MM Efficient decomposition of quantum gates Phys. Rev. Lett. 2004 92 17 177902
[59]
Awschalom D, Berggren KK, Bernien H, Bhave S, Carr LD, Davids P, Economou SE, Englund D, Faraon A, and Fejer M Development of quantum interconnects (quics) for next-generation information technologies PRX Quantum 2021 2 1 017002
[60]
Stirbu, V., Haghparast, M.: Quantum algorithm cards: Streamlining the development of hybrid classical-quantum applications. In: International Conference on Product-Focused Software Process Improvement, pp. 125–130 (2023). Springer
[61]
Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural Patterns for Microservices: A Systematic Mapping Study, pp. 221–232 (2018)
[62]
Rahaman M and Islam MM A review on progress and problems of quantum computing as a service (QCAAS) in the perspective of cloud computing Glob. J. Comput. Sci. Technol. 2015 15 4 15-18
[63]
Stirbu, V., Haghparast, M., Waseem, M., Dayama, N., Mikkonen, T.: Full-stack quantum software in practice: ecosystem, stakeholders and challenges. In: 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), vol. 2, pp. 177–180 (2023). IEEE
[64]
Aleksandrowicz, G., Alexander, T., Barkoutsos, P., Bello, L., Ben-Haim, Y., Bucher, D., Cabrera-Hernández, F.J., Carballo-Franquis, J., Chen, A., Chen, C.-F., et al.: Qiskit: An open-source framework for quantum computing. Accessed on: Mar 16 (2019)
[65]
Steiger DS, Häner T, and Troyer M Projectq: an open source software framework for quantum computing Quantum 2018 2 49
[66]
Svore, K., Geller, A., Troyer, M., Azariah, J., Granade, C., Heim, B., Kliuchnikov, V., Mykhailova, M., Paz, A., Roetteler, M.: Q# enabling scalable quantum computing and development with a high-level dsl. In: Proceedings of the Real World Domain Specific Languages Workshop 2018, pp. 1–10 (2018)
[67]
Haghparast, M., Mikkonen, T., Nurminen, J.K., Stirbu, V.: Quantum software engineering challenges from developers’ perspective: Mapping research challenges to the proposed workflow model. In: 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), vol. 2, pp. 173–176 (2023). IEEE
[68]
Moguel, E., Garcia-Alonso, J., Haghparast, M., Murillo, J.M.: Quantum Microservices Development and Deployment (2023)
[69]
Romero-Álvarez, J., Alvarado-Valiente, J., Moguel, E., Garcia-Alonso, J.: Quantum web services: Development and deployment. In: International Conference on Web Engineering, pp. 421–423 (2023). Springer
[70]
Nguyen, H.T., Usman, M., Buyya, R.: Qfaas: A serverless function-as-a-service framework for quantum computing. arXiv preprint arXiv:2205.14845 (2022)
[71]
Gayathri S, Kumar R, Dhanalakshmi S, Kaushik BK, and Haghparast M T-count optimized wallace tree integer multiplier for quantum computing Int. J. Theoretical Phys. 2021 60 8 2823-2835
[72]
Hilton, J.: Building the quantum workforce of the future. Forbes Technology Council (2019)

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Cluster Computing
Cluster Computing  Volume 27, Issue 6
Sep 2024
1542 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 25 March 2024
Accepted: 10 February 2024
Revision received: 16 January 2024
Received: 29 November 2023

Author Tags

  1. Quantum software engineering
  2. Quantum programming languages
  3. Quantum life-cycle development
  4. Quantum hybrid systems
  5. Quantum software analysis
  6. Quantum software development

Qualifiers

  • Review-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media