Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context
Research Article  ·  Published: 09 May 2026
Issue cover
ICCK Journal of Software Engineering
Volume 2, Issue 2, 2026: 102-120
Research Article Open Access

Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context

1 Department of Electrical Engineering and Computer Science, Embry-Riddle Aeronautical University, Daytona Beach 32114, United States
* Corresponding Author: Lynn Vonderhaar, [email protected]
Volume 2, Issue 2

Article Information

Abstract

Non-Functional Requirements (NFRs) are quality-focused attributes of a system that impact functional components. There are 24 common NFR classes with some of the most used being performance, scalability, availability, reliability, and security. The implementations of these classes are ambiguous and describe the attributes on the behavior of software. Due to their nature, NFRs are typically realized through the specification and implementation of functional requirements. For traditional software systems, the NFR definitions are well known. However, in Machine Learning (ML), which has numerous applications across a multitude of domains, a current challenge is that traditional software non-functional class definitions do not consider stochasticity and black-box nature of ML, and thus, are not appropriately reflecting the ML context. This paper aims to address that challenge by mapping traditional software NFR definitions into ML-NFR definitions by redefining them with ML characteristics in consideration. This research separates the 24 common NFRs into system NFRs and ML NFRs to delineate which of the original 24 carries over to the ML context. Because of the proliferation of ML, requirement engineers need to be cognizant of the nuances of ML behavior as it pertains to NFRs. This paper presents a mapping of NFRs into the ML context including new definitions, as needed, for NFRs in ML systems.

Graphical Abstract

Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context

Keywords

machine learning non-functional requirements requirements engineering ML engineering MLOps

Data Availability Statement

Data will be made available on request.

Funding

This work was supported without any funding.

Conflicts of Interest

The authors declare no conflicts of interest.

AI Use Statement

The authors declare that no generative AI was used in the preparation of this manuscript.

Ethical Approval and Consent to Participate

Not applicable.

References

  1. Shinde, P. P., & Shah, S. (2018, August). A review of machine learning and deep learning applications. In 2018 Fourth international conference on computing communication control and automation (ICCUBEA) (pp. 1-6). IEEE.
    [CrossRef] [Google Scholar]
  2. Isbell, C., Littman, M. L., & Norvig, P. (2023). Software engineering of machine learning systems. Communications of the ACM, 66(2), 35-37. https://dx.doi.org/10.1145/3539783
    [Google Scholar]
  3. Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional requirements in software engineering (Vol. 5). Springer Science & Business Media.
    [Google Scholar]
  4. Glinz, M. (2007, October). On non-functional requirements. In 15th IEEE international requirements engineering conference (RE 2007) (pp. 21-26). IEEE.
    [CrossRef] [Google Scholar]
  5. Horkoff, J. (2019, September). Non-functional requirements for machine learning: Challenges and new directions. In 2019 IEEE 27th international requirements engineering conference (RE) (pp. 386-391). IEEE.
    [CrossRef] [Google Scholar]
  6. Ali, M. A., Yap, N. K., Ghani, A. A. A., Zulzalil, H., Admodisastro, N. I., & Najafabadi, A. A. (2022). A systematic mapping of quality models for AI systems, software and components. Applied Sciences, 12(17), 8700.
    [CrossRef] [Google Scholar]
  7. Boehm, B. W., Brown, J. R., & Lipow, M. (1976). Quantitative evaluation of software quality. Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research, 25.
    [Google Scholar]
  8. Miguel, J. P., Mauricio, D., & Rodríguez, G. (2014). A review of software quality models for the evaluation of software products. arXiv preprint arXiv:1412.2977.
    [CrossRef] [Google Scholar]
  9. Washizaki, H. (Ed.). (2025). SWEBOK: Guide to the software engineering body of knowledge (v4.0a). IEEE Computer Society. https://www.laobu.com/ai/book_se_swebok_4_files/swebok4a.pdf
    [Google Scholar]
  10. Chung, L., & Supakkul, S. (2004, May). Representing nfrs and frs: A goal-oriented and use case driven approach. In International Conference on Software Engineering Research and Applications (pp. 29-41). Berlin, Heidelberg: Springer Berlin Heidelberg.
    [CrossRef] [Google Scholar]
  11. Ruparelia, N. B. (2010). Software development lifecycle models. ACM SIGSOFT Software Engineering Notes, 35(3), 8-13.
    [CrossRef] [Google Scholar]
  12. Macaulay, L. A. (2012). Requirements engineering. Springer Science & Business Media.
    [Google Scholar]
  13. Agarwal, B. B., & Tayal, S. P. (2009). Software Engineering. New Age International.
    [Google Scholar]
  14. Luo, L. (n.d.). Software testing techniques: Technology maturation and research strategy [Class report, Carnegie Mellon University]. Carnegie Mellon University. https://www.cs.cmu.edu/~luluo/Courses/17939Report.pdf
    [Google Scholar]
  15. Géron, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. O'Reilly Media. https://dl.acm.org/doi/abs/10.5555/3153997
    [Google Scholar]
  16. Kim, K. G. (2016). Book review: Deep learning. Healthcare Informatics Research, 22(4), 351–354.
    [CrossRef] [Google Scholar]
  17. Paleyes, A., Urma, R. G., & Lawrence, N. D. (2022). Challenges in deploying machine learning: a survey of case studies. ACM computing surveys, 55(6), 1-29.
    [CrossRef] [Google Scholar]
  18. Sculley, D., Holt, G., Golovin, D., Davydov, E., Phillips, T., Ebner, D., ... & Dennison, D. (2015). Hidden technical debt in machine learning systems. Advances in neural information processing systems, 28.
    [Google Scholar]
  19. Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems, 33, 1877-1901.
    [Google Scholar]
  20. Köhl, M. A., Baum, K., Langer, M., Oster, D., Speith, T., & Bohlender, D. (2019, September). Explainability as a non-functional requirement. In 2019 IEEE 27th international requirements engineering conference (RE) (pp. 363-368). IEEE.
    [CrossRef] [Google Scholar]
  21. Chazette, L., & Schneider, K. (2020). Explainability as a non-functional requirement: challenges and recommendations. Requirements Engineering, 25(4), 493-514.
    [CrossRef] [Google Scholar]
  22. Sheh, R., & Monteath, I. (2018). Defining explainable AI for requirements analysis. KI-Künstliche Intelligenz, 32(4), 261-266.
    [CrossRef] [Google Scholar]
  23. Vogelsang, A., & Borg, M. (2019, September). Requirements engineering for machine learning: Perspectives from data scientists. In 2019 IEEE 27th international requirements engineering conference workshops (REW) (pp. 245-251). IEEE.
    [CrossRef] [Google Scholar]
  24. Habibullah, K. M., Gay, G., & Horkoff, J. (2023). Non-functional requirements for machine learning: Understanding current use and challenges among practitioners. Requirements Engineering, 28(2), 283-316.
    [CrossRef] [Google Scholar]
  25. Habibullah, K. M., Gay, G., & Horkoff, J. (2022, May). Non-functional requirements for machine learning: An exploration of system scope and interest. In Proceedings of the 1st Workshop on Software Engineering for Responsible AI (pp. 29-36).
    [CrossRef] [Google Scholar]
  26. Bajraktari, E., Krause, T., & Kücherer, C. (2024). Documentation of non-functional requirements for systems with machine learning components. In Joint Proceedings of REFSQ-2024 Workshops, Doctoral Symposium, Posters & Tools Track, and Education and Training Track; co-located with REFSQ 2024: Winterthur, Switzerland, 8-11 April 2024 (Vol. 3672). RWTH Aachen.
    [Google Scholar]
  27. ISO/IEC. (2001). ISO/IEC 9126-1:2001 Software engineering — Product quality — Part 1: Quality model (ISO/IEC 9126-1:2001). https://www.iso.org/standard/22749.html
    [Google Scholar]
  28. Zhang, J. M., Harman, M., Ma, L., & Liu, Y. (2020). Machine learning testing: Survey, landscapes and horizons. IEEE Transactions on Software Engineering, 48(1), 1-36.
    [CrossRef] [Google Scholar]
  29. International Organization for Standardization, & Technical Committee ISO/IEC JTC 1, Information technology. Subcommittee SC 7, Software and systems engineering. (2011). Systems and Software Engineering: Systems and Software Quality Requirements and Evaluation (SQuaRE): System and Software Quality Models. ISO. https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en
    [Google Scholar]
  30. Zhang, X., Zheng, X., & Mao, W. (2021). Adversarial perturbation defense on deep neural networks. ACM Computing Surveys (CSUR), 54(8), 1-36.
    [CrossRef] [Google Scholar]
  31. Lieberherr, K. (1995, October). Workshop on adaptable and adaptive software. In Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications (pp. 149-154).
    [Google Scholar]
  32. Kanda, H., Okamura, H., & Dohi, T. (2023, August). A Note on Optimal Retraining Strategy for ML Systems. In 2023 10th International Conference on Dependable Systems and Their Applications (DSA) (pp. 730-733). IEEE.
    [CrossRef] [Google Scholar]
  33. Hu, X., Liu, W., Bian, J., & Pei, J. (2020, August). Measuring model complexity of neural networks with curve activation functions. In Proceedings of the 26th ACM SIGKDD International Conference on knowledge discovery & data mining (pp. 1521-1531).
    [CrossRef] [Google Scholar]
  34. Myung, I. J. (2000). The importance of complexity in model selection. Journal of mathematical psychology, 44(1), 190-204.
    [CrossRef] [Google Scholar]
  35. Paradkar, S. (2017). Mastering non-functional requirements: analysis, architecture, and assessment. Packt Publishing Ltd.
    [Google Scholar]
  36. Weiss, G. M., & Provost, F. (2001). The effect of class distribution on classifier learning: an empirical study. Rutgers University.
    [CrossRef] [Google Scholar]
  37. Poort, E. R., Martens, N., Van De Weerd, I., & Van Vliet, H. (2012, March). How architects see non-functional requirements: Beware of modifiability. In International Working Conference on Requirements Engineering: Foundation for Software Quality (pp. 37-51). Berlin, Heidelberg: Springer Berlin Heidelberg.
    [CrossRef] [Google Scholar]
  38. Biondi, A., Nesti, F., Cicero, G., Casini, D., & Buttazzo, G. (2019). A safe, secure, and predictable software architecture for deep learning in safety-critical systems. IEEE Embedded Systems Letters, 12(3), 78-82.
    [CrossRef] [Google Scholar]
  39. Sujon, K. M., Hassan, R., Choi, K., & Samad, M. A. (2025). Accuracy, precision, recall, f1-score, or MCC? empirical evidence from advanced statistics, ML, and XAI for evaluating business predictive models. Journal of Big Data, 12(1), 268.
    [CrossRef] [Google Scholar]
  40. Avizienis, A., Laprie, J. C., Randell, B., & Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE transactions on dependable and secure computing, 1(1), 11-33.
    [CrossRef] [Google Scholar]
  41. Bombonatti, D., Goulão, M., & Moreira, A. (2017). Synergies and tradeoffs in software reuse – a systematic mapping study. Software, Practice & Experience, 47(7), 943-957.
    [CrossRef] [Google Scholar]
  42. Niu, S., Liu, Y., Wang, J., & Song, H. (2021). A decade survey of transfer learning (2010–2020). IEEE Transactions on Artificial Intelligence, 1(2), 151-166.
    [CrossRef] [Google Scholar]
  43. Shahrokni, A., & Feldt, R. (2013). A systematic review of software robustness. Information and Software Technology, 55(1), 1-17.
    [CrossRef] [Google Scholar]
  44. Gupta, S., & Gupta, A. (2019). Dealing with noise problem in machine learning data-sets: A systematic review. Procedia Computer Science, 161, 466-474.
    [CrossRef] [Google Scholar]
  45. Madden, M. G., & Munroe, D. T. (2005). Multi-class and single-class classification approaches to vehicle model recognition from images.
    [CrossRef] [Google Scholar]
  46. Bae, H., Jang, J., Jung, D., Jang, H., Ha, H., Lee, H., & Yoon, S. (2018). Security and privacy issues in deep learning. arXiv preprint arXiv:1807.11655.
    [CrossRef] [Google Scholar]
  47. Khalid, F., Hanif, M. A., Rehman, S., Qadir, J., & Shafique, M. (2019, March). Fademl: Understanding the impact of pre-processing noise filtering on adversarial machine learning. In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE) (pp. 902-907). IEEE.
    [CrossRef] [Google Scholar]
  48. Christopher, D. F. X., & Chandra, E. (2012). Prediction of software requirements stability based on complexity point measurement using multi-criteria fuzzy approach. International Journal of Software Engineering & Applications, 3(6), 101.
    [CrossRef] [Google Scholar]
  49. Penzenstadler, B., Raturi, A., Richardson, D., & Tomlinson, B. (2014). Safety, security, now sustainability: The nonfunctional requirement for the 21st century. IEEE software, 31(3), 40-47.
    [CrossRef] [Google Scholar]
  50. Hoefler, T., Alistarh, D., Ben-Nun, T., Dryden, N., & Peste, A. (2021). Sparsity in deep learning: Pruning and growth for efficient inference and training in neural networks. Journal of Machine Learning Research, 22(241), 1-124.
    [Google Scholar]
  51. Garousi, V., Felderer, M., & Kılıçaslan, F. N. (2019). A survey on software testability. Information and Software Technology, 108, 35-64.
    [CrossRef] [Google Scholar]
  52. Sun, Y., Huang, X., Kroening, D., Sharp, J., Hill, M., & Ashmore, R. (2018). Testing deep neural networks. arXiv preprint arXiv:1803.04792.
    [CrossRef] [Google Scholar]
  53. Osisanwo, F. Y., Akinsola, J. E., Awodele, O., Hinmikaiye, J. O., Olakanmi, O., & Akinjobi, J. (2017). Supervised machine learning algorithms: classification and comparison. International Journal of Computer Trends and Technology (IJCTT), 48(3), 128-138.
    [Google Scholar]
  54. Adams, K. M. (2015). Compatibility, consistency, interoperability. In Nonfunctional Requirements in Systems Analysis and Design (pp. 131-153). Cham: Springer International Publishing.
    [CrossRef] [Google Scholar]
  55. Abran, A., Al-Sarayreh, K. T., & Cuadrado-Gallego, J. J. (2013). A standards-based reference framework for system portability requirements. Computer Standards & Interfaces, 35(4), 380-395.
    [CrossRef] [Google Scholar]
  56. Raghunathan, A., Xie, S. M., Yang, F., Duchi, J. C., & Liang, P. (2019). Adversarial training can hurt generalization. arXiv preprint arXiv:1906.06032.
    [CrossRef] [Google Scholar]
  57. Valmeekam, K., Marquez, M., Olmo, A., Sreedharan, S., & Kambhampati, S. (2023). Planbench: An extensible benchmark for evaluating large language models on planning and reasoning about change. Advances in Neural Information Processing Systems, 36, 38975-38987.
    [Google Scholar]
  58. Masuda, S., Ono, K., Yasue, T., & Hosokawa, N. (2018, April). A survey of software quality for machine learning applications. In 2018 IEEE International conference on software testing, verification and validation workshops (ICSTW) (pp. 279-284). IEEE.
    [CrossRef] [Google Scholar]

Cite This Article

APA Style
Elvira, T., Vonderhaar, L., Couder, J., Procko, T. T., Pate, W., & Ochoa, O. (2026). Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context. ICCK Journal of Software Engineering, 2(2), 102-120. https://doi.org/10.62762/JSE.2026.908327
Export Citation
RIS Format
Compatible with EndNote, Zotero, Mendeley, and other reference managers
TY  - JOUR
AU  - Elvira, Timothy
AU  - Vonderhaar, Lynn
AU  - Couder, Juan
AU  - Procko, Tyler Thomas
AU  - Pate, William
AU  - Ochoa, Omar
PY  - 2026
DA  - 2026/05/09
TI  - Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context
JO  - ICCK Journal of Software Engineering
T2  - ICCK Journal of Software Engineering
JF  - ICCK Journal of Software Engineering
VL  - 2
IS  - 2
SP  - 102
EP  - 120
DO  - 10.62762/JSE.2026.908327
UR  - https://www.icck.org/article/abs/JSE.2026.908327
KW  - machine learning
KW  - non-functional requirements
KW  - requirements engineering
KW  - ML engineering
KW  - MLOps
AB  - Non-Functional Requirements (NFRs) are quality-focused attributes of a system that impact functional components. There are 24 common NFR classes with some of the most used being performance, scalability, availability, reliability, and security. The implementations of these classes are ambiguous and describe the attributes on the behavior of software. Due to their nature, NFRs are typically realized through the specification and implementation of functional requirements. For traditional software systems, the NFR definitions are well known. However, in Machine Learning (ML), which has numerous applications across a multitude of domains, a current challenge is that traditional software non-functional class definitions do not consider stochasticity and black-box nature of ML, and thus, are not appropriately reflecting the ML context. This paper aims to address that challenge by mapping traditional software NFR definitions into ML-NFR definitions by redefining them with ML characteristics in consideration. This research separates the 24 common NFRs into system NFRs and ML NFRs to delineate which of the original 24 carries over to the ML context. Because of the proliferation of ML, requirement engineers need to be cognizant of the nuances of ML behavior as it pertains to NFRs. This paper presents a mapping of NFRs into the ML context including new definitions, as needed, for NFRs in ML systems.
SN  - 3069-1834
PB  - Institute of Central Computation and Knowledge
LA  - English
ER  - 
BibTeX Format
Compatible with LaTeX, BibTeX, and other reference managers
@article{Elvira2026Mapping,
  author = {Timothy Elvira and Lynn Vonderhaar and Juan Couder and Tyler Thomas Procko and William Pate and Omar Ochoa},
  title = {Mapping Traditional Software Non-Functional Requirements into the Machine Learning Context},
  journal = {ICCK Journal of Software Engineering},
  year = {2026},
  volume = {2},
  number = {2},
  pages = {102-120},
  doi = {10.62762/JSE.2026.908327},
  url = {https://www.icck.org/article/abs/JSE.2026.908327},
  abstract = {Non-Functional Requirements (NFRs) are quality-focused attributes of a system that impact functional components. There are 24 common NFR classes with some of the most used being performance, scalability, availability, reliability, and security. The implementations of these classes are ambiguous and describe the attributes on the behavior of software. Due to their nature, NFRs are typically realized through the specification and implementation of functional requirements. For traditional software systems, the NFR definitions are well known. However, in Machine Learning (ML), which has numerous applications across a multitude of domains, a current challenge is that traditional software non-functional class definitions do not consider stochasticity and black-box nature of ML, and thus, are not appropriately reflecting the ML context. This paper aims to address that challenge by mapping traditional software NFR definitions into ML-NFR definitions by redefining them with ML characteristics in consideration. This research separates the 24 common NFRs into system NFRs and ML NFRs to delineate which of the original 24 carries over to the ML context. Because of the proliferation of ML, requirement engineers need to be cognizant of the nuances of ML behavior as it pertains to NFRs. This paper presents a mapping of NFRs into the ML context including new definitions, as needed, for NFRs in ML systems.},
  keywords = {machine learning, non-functional requirements, requirements engineering, ML engineering, MLOps},
  issn = {3069-1834},
  publisher = {Institute of Central Computation and Knowledge}
}

Article Metrics

Citations
Crossref
0
Scopus
0
Views
855
PDF Downloads
180

Publisher's Note

ICCK stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and Permissions

CC BY Copyright © 2026 by the Author(s). Published by Institute of Central Computation and Knowledge. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made.
ICCK Journal of Software Engineering
ICCK Journal of Software Engineering
ISSN: 3069-1834 (Online)
Portico
Preserved at
Portico