Preview

Труды Института системного программирования РАН

Расширенный поиск

Глубокое обучение при выработке нефункциональных требований: подход на основе сверточных нейронных сетей

https://doi.org/10.15514/ISPRAS-2024-36(1)-8

Аннотация

Фаза разработки требований (ER) играет решающую роль в разработке программного обеспечения, поскольку любые недостатки на этом этапе могут привести к провалу проекта. Аналитики полагаются на спецификацию требований (RS) для определения полного списка требований к качеству. Процесс классификации требований в рамках RS включает отнесение каждого требования к соответствующему классу, что ставит перед аналитиками задачу точной классификации. Данное исследование направлено на улучшение качества классификации нефункциональных требований (NFR) на основе применения сверточной нейронной сети (CNN). В исследовании также подчеркивается важность методов предварительной обработки, реализации стратегий выборки и включения предварительно обученных векторных представлений слов, таких как Fasttext, Glove и Word2vec. Оценка предлагаемого подхода выполняется с использованием таких метрик, как Recall, Precision и F1, что приводит к среднему улучшению производительности до 30% по сравнению с другими подходами. Кроме того, модель оценивается в отношении использования предварительно обученных векторных представлений слов с помощью анализа ANOVA, предоставляя ценную информацию о ее эффективности. Это исследование направлено на то, чтобы продемонстрировать полезность CNN и предварительно обученных векторных представлений слов в классификации NFR, предлагая ценный вклад в области инженерии требований и улучшая общий процесс разработки программного обеспечения.

Об авторах

Сандра Эстефания МАРТИНЕС ГАРСИЯ
Аспирантура Технологического университета Миштека
Мексика

Имеет магистерскую степень Технологического университета Миштека (2021 год) в области прикладных вычислительных технологий и Технологического института Оахака в области вычислительной техники (2019 год). В настоящее время она является специалистом по управлению данными и техническим руководителем мексиканского отделения компании Bosch. Ее области интересов включают искусственный интеллект, разработку программного обеспечения, управление разработкой требований, автоматизацию процессов, бизнес-аналитику, аналитику данных и науку о данных.



Карлос Альберто ФЕРНАНДЕС-И-ФЕРНАНДЕС
Институт вычислений Технологического университета Миштека
Мексика

Имеет степень PhD университета Шеффилда по программированию, эксперт в области программирования. В настоящее время возглавляет Институт вычислений в Технологическом университете в мексиканском регионе Миштека, координирует магистерские программы по прикладным аспектам вычислительных технологий. Сфера научных интересов: визуальное моделирование, гибкие технологии разработки и формальные спецификации программного обеспечения.



Эрик Г. РАМОС ПЕРЕС
Институт вычислений Технологического университета Миштека
Мексика

Профессор-исследователь Технологического университета Миштека. Имеет степени магистра Технологическом университете Ла-Микстека в области прикладных вычислительных технологий (2016 год) и по вычислительной технике (2001 год). Является координатором Виртуального университета. Его области научных интересов включают машинное обучение и автономную навигацию беспилотных аппаратов.



Список литературы

1. José Alfonso Aguilar, Anibal Zald́ıvar-Colado, Carolina Tripp-Barba, Roberto Espinosa, Sanjay Misra, Carlos Eduardo Zurita: A Survey About the Impact of Requirements Engineering Practice in Small-Sized Software Factories in Sinaloa, Mexico. International Conference on Computational Science and Its Applications, 331–340. Springer, 2018.

2. Alla Sujatha, Pilar Pazos, Rolando DelAguila: The Impact of Requirements Management Documentation on Software Project Outcomes in Health Care. IIE Annual Conference. Proceedings, 1419–1423. Institute of Industrial and Systems Engineers (IISE), 2017.

3. S. Almeyda, A. Davila: Process Improvement in Software Requirements Engineering: A Systematic Mapping Study. Programming and Computer Software, 48(8):513–533, 2022.

4. Aybuke Aurum, Claes Wohlin: A value- based approach in requirements engineering: explaining some of the fundamental concepts. International Working Conference on Requirements Engineering: Foundation for Software Quality, 109–115. Springer, 2007.

5. Christoph Becker, Stefanie Betz, Ruzanna Chitchyan, Leticia Duboc, Steve M. Easterbrook, Birgit Penzenstadler, Norbet Seyff, Colin C. Venters: Requirements: The key to sustainability. IEEE Software, vol.33:56–65, 2016.

6. Agustin Casamayor, Daniela Godoy, Marcelo R. Campo: Identification of non-functional requirements in textual specifications: A semi-supervised learning approach. Information and Software Technology, vol.52:436–445, 2010.

7. Lawrence Chung, Brian A. Nixon, Eric Yu, John Mylopoulos: Non-functional requirements in software engineering. Springer Science & Business Media, 2012.

8. J. R. Aguilar Cisneros, C. A. Fernandez-y-Fernandez, Genaro de la Rosa Garcia, A. Leon: Automotive Post-Collision Control Software System: Requirements and Verification. Programming and Computer Software, 47(8):735–745, 2021.

9. F. Dalpiaz, A. Ferrari, X. Franch, C. Palomares: Natural Language Processing for Requirements Engineering: The Best Is Yet to Come. IEEE Software, vol.35:115–119, 2018, ISSN 0740-7459.

10. Vivian Lin Fong: Software Requirements Classification Using Word Embeddings and Convolutional Neural Networks. Cal Poly, 2018.

11. Martin Glinz: On non-functional requirements. Requirements Engineering Conference, 2007. RE’07. 15th IEEE International, 21–26. IEEE, 2007.

12. Margaret Hamill, Katerina Goseva-Popstojanova: Common trends in software fault and failure data. IEEE Transactions on Software Engineering, vol.35:484– 496, 2009.

13. Ishrar Hussain, Olga Ormandjieva, Leila Kosseim: LASR: A tool for large scale annotation of software requirements. 2012 Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE), 57–60. IEEE, 2012.

14. IEEE Computer Society, Software Engineering Standards Committee, IEEE SA Standards Board: IEEE Recommended Practice for Software Requirements Specifications. 1998.

15. Raul Navarro Almanza, Reyes Juárez-Ramirez, Guillermo Licea: Towards Supporting Software Engineering Using Deep Learning: A Case of Software Requirements Classification. 2017 5th International Conference in Software Engineering Research and Innovation (CONISOFT), 116–120. IEEE, 2017.

16. Mohamad Kassab: Non-functional requirements: modeling and assessment. VDM Verlag, 2009.

17. Marjo Kauppinen, Juha Savolainen, Tomi Mannisto: Requirements engineering as a driver for innovations. 15th IEEE International Requirements Engineering Conference (RE 2007), 15–20. IEEE, 2007.

18. Youngjoong Ko, Sooyong Park, Jungyun Seo, Soonhwang Choi: Using classification techniques for informal requirements in the requirements analysis-supporting system. Information and Software Technology, vol.49:1128–1140, 2007.

19. Zijad Kurtanovic, Walid Maalej: Automatically classifying functional and non-functional requirements using supervised machine learning. Requirements Engineering Conference (RE), 2017 IEEE 25th International, 490–495. IEEE, 2017.

20. Timo O. A. Lehtinen, Mika Mäntylä, Jari Vanhanen, Juha Itkonen, Casper Lassenius: Perceived causes of software project failures–An analysis of their relationships. Information and Software Technology, vol.56:623–643, 2014.

21. Tomas Mikolov: Statistical language models based on neural networks. Presentation at Google, Mountain View, 2nd April, vol.80, 2012.

22. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S. Corrado, Jeffrey Dean: Distributed representations of words and phrases and their compositionality. Advances in neural information processing systems, 3111–3119, 2013.

23. Nan Niu, Sjaak Brinkkemper, Xavier Franch, Jari Partanen, Juha Savolainen: Requirements engineering and continuous deployment. IEEE software, vol.35(2):86–90, 2018.

24. Carla Pacheco, Ivan Garcia, Miryam Reyes: Requirements elicitation techniques: a systematic literature review based on the maturity of the techniques. IET Software, vol.12:365–378, 2018.

25. J. Manuel Pérez-Verdejo, Angel Juan Sanchez Garcia, Jorge Octavio Ocharán-Hernández, Efrén Mezura-Montes, Karen Cortés-Verdin: Requirements and GitHub Issues: An Automated Approach for Quality Requirements Classification. Programming and Computer Software, 47:704–721, 2021.

26. Abderahman Rashwan, Olga Ormandjieva, Rene Witte: Ontology-based classification of non-functional requirements in software specifications: a new corpus and SVM-based classifier. Computer Software and Applications Conference (COMPSAC), 2013 IEEE 37th Annual, 381–386. IEEE, 2013.

27. Patrick Rempel, Patrick Máder: Preventing defects: The impact of requirements traceability completeness on software quality. IEEE Transactions on Software Engineering, vol.43:777–797, 2017.

28. Kevin Ryan: The role of natural language in requirements engineering. Proceedings of the IEEE International Symposium on Requirements Engineering, 240– 242. IEEE, 1993.

29. J. Sayyad Shirabad, Tim J. Menzies: The PROMISE Repository of Software Engineering Databases, 2005. http://promise.site.uottawa.ca/SERepository.

30. Belal Shanyour, Abdallah Qusef: Global Software Development and its Impact on Software Quality. 2018 Fifth International Symposium on Innovation in Information and Communication Technology (ISIICT), 1–6. IEEE, 2018.

31. Ian Sommerville: Software engineering, 9th Edition. Pearson, 2011.

32. Jason Van Hulse, Taghi M. Khoshgoftaar, Amri Napolitano: Experimental perspectives on learning from imbalanced data. Proceedings of the 24th international conference on Machine learning, 935–942, 2007.

33. Jonas Winkler, Andreas Vogelsang: Automatic classification of requirements based on convolutional neural networks. 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), 39–45. IEEE, 2016.


Рецензия

Для цитирования:


МАРТИНЕС ГАРСИЯ С., ФЕРНАНДЕС-И-ФЕРНАНДЕС К., РАМОС ПЕРЕС Э. Глубокое обучение при выработке нефункциональных требований: подход на основе сверточных нейронных сетей. Труды Института системного программирования РАН. 2024;36(1):131-142. https://doi.org/10.15514/ISPRAS-2024-36(1)-8

For citation:


MARTINEZ GARCIA S., FERNÁNDEZ-Y-FERNÁNDEZ C., RAMOS PÉREZ E. Deep Learning for Non-functional Requirements: A Convolutional Neural Network Approach. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2024;36(1):131-142. https://doi.org/10.15514/ISPRAS-2024-36(1)-8



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)