Skip to main navigation menu Skip to main content Skip to site footer

Systematic Mapping of the Literature on Smells in Software Development Requirements

Abstract

One of the activities responsible for the success of a software development project is the specification of requirements, whose purpose is to ensure that the wishes or needs of the client clearly and accurately represent what they expect. A clear and structured requirement specification process avoids reprocessing at later stages of the project life cycle, generating a benefit in terms of time estimation for new tasks, cost, and effort. In this sense, it is important to have mechanisms or techniques to identify and mitigate possible errors during the requirements specification. Software engineering proposes the term “smell”, which can be defined as a specific symptom that can generate defects in a requirement. The objective of this paper is to establish a broader state of knowledge on the smell identification and classification present during the requirements specification and their impact on the generation of a phenomenon known as requirements debt. This article presents the results obtained after carrying out a systematic mapping of the literature, describing the proposals, initiatives, results, technological tools, benefits and challenges of smell identification and management in the requirements-gathering stage during the software development solutions.

Keywords

Requirements smells, requirements debt, software development, software engineering, requirements engineering

PDF XML

References

  1. M. K. Habib, S. Wagner, D. Graziotin, “Detecting Requirements Smells with Deep Learning: Experiences, Challenges and Future Work,” IEEE International Conference on Requirements Engineering, vol. 2021, pp. 153–156, 2021. https://doi.org/10.1109/REW53955.2021.00027 DOI: https://doi.org/10.1109/REW53955.2021.00027
  2. Junta de Andalucía, Ingeniería de requisitos | Marco de Desarrollo de la Junta de Andalucía, 2021. https://www.juntadeandalucia.es/servicios/madeja/contenido/subsistemas/ingenieria/ingenieria-requisitos
  3. H. Femmer, “Reviewing Natural Language Requirements with Requirements Smells-A Research Proposal,” in 11th International Doctoral Symposium on Empirical Software Engineering, 2013.
  4. H. Femmer, D. Méndez Fernández, S. Wagner, S. Eder, “Rapid Quality Assurance with Requirements Smells,” Journal of Systems and Software, vol. 123, pp. 190-213. https://doi.org/10.1016/j.jss.2016.02.047 DOI: https://doi.org/10.1016/j.jss.2016.02.047
  5. K. Petersen, S. Vakkalanka, L. Kuzniarz, “Guidelines for conducting systematic mapping studies in software engineering: An update,” Information and Software Technology, vol. 64, pp. 1–18, 2015. https://doi.org/10.1016/j.infsof.2015.03.007 DOI: https://doi.org/10.1016/j.infsof.2015.03.007
  6. K. Petersen, R. Feldt, S. Mujtaba, M. Mattsson, “Systematic Mapping Studies in Software,” International Journal of Software Engineering & Knowledge Engineering, vol. 17, no. 1, pp. 33–55, 2007. DOI: https://doi.org/10.14236/ewic/EASE2008.8
  7. B. Kitchenham, S. Charters, “Guidelines for performing Systematic Literature Reviews in Software Engineering, Version 2.3,” EBSE Technical Report, Keele University, 2007. https://doi.org/10.1145/1134285.1134500 DOI: https://doi.org/10.1145/1134285.1134500
  8. D. Budgen, M. Turner, P. Brereton, B. Kitchenham, “Using Mapping Studies in Software Engineering,” Lecture Notes in Business Information Processing, vol. 32, pp. 441–442, 2009. https://doi.org/10.1007/978-3-642-02152-7_36 DOI: https://doi.org/10.1007/978-3-642-02152-7_36
  9. V. R. Basili, G. Caldiera, “The Goal Question Metric Paradigm,” Encyclopedia of Software Engineering, vol. 2, pp. 528–532, 2000.
  10. R. Wieringa, N. Maiden, N. Mead, C. Rolland, “Requirements engineering paper classification and evaluation criteria: A proposal and a discussion,” Requirements Engineering, vol. 11, no. 1, pp. 102–107, 2006. https://doi.org/10.1007/s00766-005-0021-6 DOI: https://doi.org/10.1007/s00766-005-0021-6
  11. Anonym, State of Agile Report | State of Agile, 2020. https://digital.ai/resource-center/analyst-reports/state-of-agile-report#ufh-c-7027494-state-of-agile
  12. T. Dybå, T. Dingsøyr, “Strength of Evidence in Systematic Reviews in Software Engineering,” in Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, 2008, pp. 178–187. https://doi.org/10.1145/1414004.1414034 DOI: https://doi.org/10.1145/1414004.1414034
  13. L. Yang et al., “Quality Assessment in Systematic Literature Reviews: A Software Engineering Perspective,” Information and Software Technology, vol. 130, e106397, 2021. https://doi.org/10.1016/j.infsof.2020.106397 DOI: https://doi.org/10.1016/j.infsof.2020.106397
  14. M. Ivarsson, T. Gorschek, “A method for evaluating rigor and industrial relevance of technology evaluations,” Empirical Software Engineering, vol. 16, no. 3, pp. 365–395, 2011. https://doi.org/10.1007/S10664-010-9146-4/figures/5 DOI: https://doi.org/10.1007/s10664-010-9146-4
  15. SCImago, Scimago Journal & Country Rank, 2022. https://www.scimagojr.com/
  16. CORE Inc, Core Conference Ranks, 2022. http://portal.core.edu.au/conf-ranks
  17. S. Jalali, C. Wohlin, “Systematic literature studies: Database searches vs. backward snowballing,” International Symposium on Empirical Software Engineering and Measurement, 2012, pp. 29–38. https://doi.org/10.1145/2372251.2372257 DOI: https://doi.org/10.1145/2372251.2372257
  18. H. Femmer, D. M. Fernández, E. Juergens, M. Klose, I. Zimmer, J. Zimmer, “Rapid requirements checks with requirements smells: Two case studies,” in 1st International Workshop on Rapid Continuous Software Engineering, 2014, pp. 10–19. https://doi.org/10.1145/2593812.2593817 DOI: https://doi.org/10.1145/2593812.2593817
  19. V. Lenarduzzi, D. Fucci, D. Mendéz, “On the Perceived Harmfulness of Requirement Smells: An Empirical Study,” in 26th International Working Conference on Requirement Engineering: Foundation for Software Quality, 2020.
  20. A. Beer, M. Junker, H. Femmer, M. Felderer, “Initial investigations on the influence of requirement smells on test-case design,” in IEEE 25th International Requirements Engineering Conference Workshops, 2017, pp. 323–326. https://doi.org/10.1109/REW.2017.43 DOI: https://doi.org/10.1109/REW.2017.43
  21. A. T. Seidel Calazans et al., “Quality requirements and the requirements quality: The indications from Requirements Smells in a Financial Institution Systems,” in ACM International Conference Proceeding Series, 2019, pp. 472–480. https://doi.org/10.1145/3350768.3350782 DOI: https://doi.org/10.1145/3350768.3350782
  22. R. Nascimento, E. Aranha, U. Kulesza, M. Lucena, “Requirements Smells as indicators of poor quality in requirement specification: A systematic mapping of literature,” in 21st Workshop em Engenharia de Requisitos, 2018.
  23. R. Nascimento, E. Guimarães, M. Lucena, “Requirements Smells como Indicador de Qualidade para Histórias de Usuários: Estudo Exploratório,” in WER, 2021.
  24. D. Šenkýř, P. Kroha, “Problem of incompleteness in textual requirements specification,” in Proceedings of the 14th International Conference on Software Technologies, 2019, pp. 323–330. DOI: https://doi.org/10.5220/0007978003230330
  25. A. Ferrari, A. Esuli, “An NLP approach for cross-domain ambiguity detection in requirements engineering,” Automated Software Engineering, vol. 26, no. 3, pp. 559–598, 2019. https://doi.org/10.1007/S10515-019-00261-7 DOI: https://doi.org/10.1007/s10515-019-00261-7
  26. H. Femmer, J. Mund, D. M. Fernandez, “It’s the Activities, Stupid! A New Perspective on RE Quality,” in 2nd International Workshop on Requirements Engineering and Testing, 2015, pp. 13–19. https://doi.org/10.1109/RET.2015.11 DOI: https://doi.org/10.1109/RET.2015.11
  27. A. Alzayed, A. Al-Hunaiyyan, “A Bird’s Eye View of Natural Language Processing and Requirements Engineering,” International Journal of Advanced Computer Science and Applications, vol. 12, no. 5, pp. 81–90, 2021. DOI: https://doi.org/10.14569/IJACSA.2021.0120512
  28. M. Unterkalmsteiner, T. Gorschek, “Requirements Quality Assurance in Industry: Why, What and How?,” Lecture Notes in Computer Science, vol. 10153, pp. 77–84, 2017. https://doi.org/10.1007/978-3-319-54045-0_6 DOI: https://doi.org/10.1007/978-3-319-54045-0_6
  29. L. Garm, F. Dalpiaz, J. Van Der Werf, S. Brinkkemper, “Improving agile requirements: the Quality User Story framework and tool,” Requireriments Engineering, vol. 21, no. 3, pp. 383–403, 2016. https://doi.org/10.1007/s00766-016-0250-x DOI: https://doi.org/10.1007/s00766-016-0250-x
  30. H. Femmer, M. Unterkalmsteiner, T. Gorschek, “Which requirements artifact quality defects are automatically detectable? A case study,” in IEEE 25th International Requirements Engineering Conference Workshops, 2017, pp. 400–406. https://doi.org/10.1109/REW.2017.18 DOI: https://doi.org/10.1109/REW.2017.18
  31. Y. Al-Kasabera, W. Alzyadat, A. Alhroob, S. al Showarah, A. Thunibat, “An automated approach to validate requirements specification,” International Journal of Advanced Computer Technology, vol. 9, no. 2, pp. 3578–3585, 2020.
  32. J. Fischbach, J. Frattini, D. Mendez, M. Unterkalmsteiner, H. Femmer, A. Vogelsang, “How Do Practitioners Interpret Conditionals in Requirements?,” in 22nd International Conference on Product-Focused Software Process Improvement, 2021. https://doi.org/10.1007/978-3-030-91452-3_6 DOI: https://doi.org/10.1007/978-3-030-91452-3_6
  33. A. Ferrari, S. Gnesi, G. O. Spagnolo, “PURE: A Dataset of Public Requirements Documents,” in IEEE 25th International Requirements Engineering Conference, 2017, pp. 502-505. https://doi.org/10.1109/RE.2017.29 DOI: https://doi.org/10.1109/RE.2017.29
  34. E. Sarmiento-Calisaya, E. H. Cárdenas, V. Cornejo-Aparicio, G. S. Alzamora, “Towards the improvement of natural language requirements descriptions: The C&&L tool,” in Proceedings of the ACM Symposium on Applied Computing, 2020, pp. 1405–1413. https://doi.org/10.1145/3341105.3374028 DOI: https://doi.org/10.1145/3341105.3374028
  35. A. Rani, G. Aggarwal, “Algorithm for automatic detection of ambiguities from software requirements,” International Journal of Innovative Technology and Exploring Engineering, vol. 8, no. 9, pp. 878–882, 2019. https://doi.org/10.35940/ijitee.I1141.0789S19 DOI: https://doi.org/10.35940/ijitee.I1141.0789S19
  36. M. Q. Riaz, W. H. Butt, S. Rehman, “Automatic Detection of Ambiguous Software Requirements: An Insight,” in 5th International Conference on Information Management, 2019, pp. 1–6. https://doi.org/10.1109/INFOMAN.2019.8714682 DOI: https://doi.org/10.1109/INFOMAN.2019.8714682
  37. M. H. Osman, M. F. Zahrin, “Ambi Detect: An Ambiguous Software Requirements Specification Detection Tool,” Turkish Journal of Computer and Mathematics Education, vol. 12, no. 3, pp. 2023–2028, 2021. https://doi.org/10.17762/TURCOMAT.V12I3.1066 DOI: https://doi.org/10.17762/turcomat.v12i3.1066
  38. A. O. J. Sabriye, W. M. N. Wan Zainon, “An approach for detecting syntax and syntactic ambiguity in software requirement specification,” Journal of Theoretical and Applied Information Technology, vol. 96, no. 8, pp. 2275–2284, 2018. DOI: https://doi.org/10.1109/ICITECH.2017.8080002
  39. B. Gleich, O. Creighton, L. Kof, “Ambiguity detection: Towards a tool explaining ambiguity sources,” Lecture Notes in Computer Science, vol. 6182, pp. 218–232, 2010. https://doi.org/10.1007/978-3-642-14192-8_20/ DOI: https://doi.org/10.1007/978-3-642-14192-8_20
  40. E. Juergens et al., “Can clone detection support quality assessments of requirements specifications?,” in International Conference on Software Engineering, 2010, pp. 79–88. https://doi.org/10.1145/1810295.1810308 DOI: https://doi.org/10.1145/1810295.1810308
  41. V. Antinyan, M. Staron, “Rendex: A method for automated reviews of textual requirements,” Journal of Systems and Software, vol. 131, pp. 63–77, 2017. https://doi.org/10.1016/J.JSS.2017.05.079 DOI: https://doi.org/10.1016/j.jss.2017.05.079
  42. N. Carlson, P. Laplante, “The NASA automated requirements measurement tool: a reconstruction,” Innovations in Systems and Software Engineering, vol. 10, no. 2, pp. 77–91, 2013. https://doi.org/10.1007/S11334-013-0225-8 DOI: https://doi.org/10.1007/s11334-013-0225-8
  43. ISO, ISO - ISO/IEC/IEEE 29148:2011 - Systems and software engineering — Life cycle processes — Requirements engineering, 2011. https://www.iso.org/standard/45171.html
  44. G. Mendez, Especificación de Requisitos según el estándar de IEEE 830, 2008. https://www.fdi.ucm.es/profesor/gmendez/docs/is0809/ieee830.pdf
  45. W. Bill, INVEST in Good Stories, and SMART Tasks - XP123, 2003. https://xp123.com/articles/invest-in-good-stories-and-smart-tasks/

Downloads

Download data is not yet available.

Most read articles by the same author(s)