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
References
- 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
- 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
- H. Femmer, “Reviewing Natural Language Requirements with Requirements Smells-A Research Proposal,” in 11th International Doctoral Symposium on Empirical Software Engineering, 2013.
- 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
- 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
- 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
- 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
- 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
- V. R. Basili, G. Caldiera, “The Goal Question Metric Paradigm,” Encyclopedia of Software Engineering, vol. 2, pp. 528–532, 2000.
- 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
- 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
- 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
- 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
- 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
- SCImago, Scimago Journal & Country Rank, 2022. https://www.scimagojr.com/
- CORE Inc, Core Conference Ranks, 2022. http://portal.core.edu.au/conf-ranks
- 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
- 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
- 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.
- 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
- 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
- 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.
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- ISO, ISO - ISO/IEC/IEEE 29148:2011 - Systems and software engineering — Life cycle processes — Requirements engineering, 2011. https://www.iso.org/standard/45171.html
- 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
- W. Bill, INVEST in Good Stories, and SMART Tasks - XP123, 2003. https://xp123.com/articles/invest-in-good-stories-and-smart-tasks/