APRIMORANDO A QUALIDADE DE SOFTWARE: EXPLORANDO REQUIREMENTS SMELLS COM INTELIGÊNCIA ARTIFICIAL GENERATIVA: UMA INVESTIGAÇÃO EMPÍRICA (OUTUBRO DE 2023)
DOI:
https://doi.org/10.24325/issn.2446-5763.v10i28p20-39Palavras-chave:
Engenharia de requisitos, Qualidade em software, Requirements smells, Inteligência artificiailResumo
Requisitos bem definidos desempenham um papel fundamental para garantia da qualidade de um software. Quando os requisitos são precisos e completos, simplificam todas as fases do desenvolvimento, reduzindo a probabilidade de custos adicionais indesejados. No entanto, se os artefatos iniciais apresentam indicadores de baixa qualidade, esses problemas podem se propagar para as etapas subsequentes, resultando em sistemas deficientes ou que não atendem às expectativas dos stakeholders. Para abordar essa questão, neste trabalho utilizamos inteligência artificial (IA) generativa para investigar se é possível especificar de forma satisfatória os requisitos com indicadores de problemas em especificações, conhecidos como requirements smells. Conduzimos uma análise baseada na literatura e uma pesquisa em dois projetos: um acadêmico e outro em uma empresa de médio porte. Foi avaliado um total de 282 requisitos para identificar quais requirements smells estavam presentes e como impactavam o ciclo de desenvolvimento qualitativamente. Em seguida, geramos transcrições de vídeos sobre os sistemas a serem desenvolvidos utilizando a ferramenta Cockatoo e o Microsoft Teams. Com essas transcrições utilizamos o chatbot online de inteligência artificial: ChatGPT para criarmos requisitos e novamente analisamos seu impacto no ciclo de desenvolvimento. Com base nos artefatos obtidos, fica claro que a presença de requirements smells nos requisitos iniciais trouxe desafios. O uso da IA resultou em requisitos mais coesos e compreensíveis, embora ainda seja necessário esclarecimentos adicionais e a possibilidade de retrabalho. Esses insights ressaltam o potencial da IA como uma aliada valiosa nesta fase, contribuindo para mitigar problemas e garantir o sucesso no desenvolvimento de software.
Downloads
Referências
Dehghani, R., Wnu, K., Fernández, D.M., Gorschek, T. e Ramsin, R. "On Understanding the Relation of Knowledge and Confidence to Requirements Quality," in REFSQ 2021 conference, 2021.
Silva, R., Kimura, F., Lima, J. e Bernardino, J. “PROLES: A Customized Process Applied to Software Engineering Laboratories and Small Business”. Journal of Convergence Information Technology. 12. 11, 2017.
Femmer, H. et al., "Rapid requirements checks with requirements smells: Two case studies," in Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, RCoSE 2014.
Femmer, H. , Fernández, D.M., Wagner, S. e Eder, S. Rapid quality assurance with requirements smells. Journal of Systems and Software, 2016.
Femmer, H. , Fernández, D.M., Wagner, S. e Eder, S. Rapid quality assurance with requirements smells. Journal of Systems and Software 123, 190–213, 2017
Hussain, A. e Mkpojiogu, E.O.C. Requirements: Towards an understanding on why software projects fail. AIP Conference Proceedings 12 Agosto 2016; 1761 (1): 020046. https://doi.org/10.1063/1.4960886
Fogarty, A. et al., "Agile Software Development – Do We Really Calculate the Costs? A Multivocal Literature Review," in Systems, Software and Services Process Improvement, M. Yilmaz, J. Niemann, P. Clarke and R. Messnarz (eds), EuroSPI 2020, 2020. [Online]. Disponível em: https://doi.org/10.1007/978-3-030-56441-4_15. Acessado em: 31 de outubro de 2022.
Habib, M. K., Wagner, S. e Graziotin, D. "Detecting Requirements smells With Deep Learning: Experiences, Challenges and Future Work," 2021 IEEE 29th International Requirements Engineering Conference Workshops (REW), 2021. [Online]. Disponível em: https://doi.org/10.1109/REW53955.2021.00027. Acessado em: 30 de setembro de 2023.
IEEE Computer Society, "IEEE Recommended Practice for Software Requirements Specifications," Technical report, 1998.
ISO/IEC/IEEE, "Systems and software engineering – Life cycle processes – Requirements engineering," International Organization for Standardization, Geneva, Switzerland, ISO/IEC/IEEE 29148:2011(E), 2011.
ISTQB, International Software Testing Qualifications Board, "Foundation Level Syllabus – BSQTB," 2018.
Lenarduzzi, V. e Fucci, D. "Towards a Holistic Definition of Requirements Debt," in ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2019, pp. 1-5, doi: 10.1109/ESEM.2019.8870159.
G. J. Myers, "The Art of Software Testing," John Wiley & Sons, Inc., Hoboken, New Jersey, 2004.
Pressman, R. S. Software engineering: A practitioner's approach (5th ed.). Boston, MA: McGraw-Hill, 2002.
Sommerville, I. Software Engineering. 10th Edition, Pearson Education Limited, Boston, 2016.
Yamashita, A. e Moonen, L. "Do code smells reflect important maintainability aspects?" in 28th IEEE International Conference on Software Maintenance (ICSM), Trento, Italy, pp. 306-315, doi: 10.1109/ICSM.2012.6405287, 2012.
Montgomery, L., Fucci, D., Bouraffa, A. et al., "Empirical research on requirements quality: a systematic mapping study," Requirements Eng 27, 183–209, 2022. [Online]. Disponível em: https://doi.org/10.1007/s00766-021-00367-z. Acessado em: 30 de setembro de 2023.
Jorgensen M. e Shepperd, M. "A Systematic Review of Software Development Cost Estimation Studies," in IEEE Transactions on Software Engineering, vol. 33, no. 1, pp. 33-53, Jan. 2007, doi: 10.1109/TSE.2007.256943.
Castillo-Motta, M. A, Dorado-Córdoba, R. D., Pardo-Calvache, C. J. e Orozco-Garcés, C.E. “Systematic Mapping of the Literature on Smells in Software Development Requirements”, Rev. Fac. Ing., vol. 32, no. 63, p. e15233, 2023.
Laskowska, A., Jurkiewicz, J., Olek, L. e Nawrocki, J. Supporting Use-Case Reviews. 4439. 424-437. 10.1007/978-3-540-72035-5_33, 2007.
Microsoft. " How Microsoft Teams uses AI to enhance audio and video in meetings." Disponível em: https://www.microsoft.com. Acessado em: 12 de agosto de 2023.
Cockatoo. "Choose your plan". Disponível em: https://www.cockatoo.com/. Acessado em: 12 de agosto de 2023.
Hill-Yardin, E. L. , Hutchinson, M. R., Laycock, R. e Spencer, S.J. “A Chat (GPT) about the future of scientific publishing”. Brain, Behavior, and Immunity, Volume 110, 2023, Pages 152-154, ISSN 0889-1591,https://doi.org/10.1016/j.bbi.2023.02.022. Disponível em: https://www. sciencedirect .com/science/article/pii/S0889159123000533. Acessado em: 12 de agosto de 2023.
Khaliq, Z., Farooq, S. U. e Khan, D. A. "Artificial Intelligence in Software Testing: Impact, Problems, Challenges and Prospect," 2022. [Online]. Disponível em: arXiv:2201.05371. Acessado em: 12 de agosto de 2023.
Liu, K., Reddivari, S. e Reddivari, K. "Artificial Intelligence in Software Requirements Engineering: State-of-the-Art," 2022 IEEE 23rd International Conference on Information Reuse and Integration for Data Science (IRI), San Diego, CA, USA, 2022, pp. 106-111, doi: 10.1109/IRI54793.2022.00034.