Abstract
[Context and motivation] Identifying requirements defects such as ambiguity and incompleteness is an important and challenging task in requirements engineering (RE). [Question/Problem] We investigate whether combining humans’ cognitive and analytical capabilities with automated reasoning is a viable method to support the identification of requirements quality defects. [Principal ideas/results] We propose a tool-supported approach for pinpointing terminological ambiguities between viewpoints as well as missing requirements. To do so, we blend natural language processing (conceptual model extraction and semantic similarity) with information visualization techniques that help interpret the type of defect. [Contribution] Our approach is a step forward toward the identification of ambiguity and incompleteness in a set of requirements, still an open issue in RE. A quasi-experiment with students, aimed to assess whether our tool delivers higher accuracy than manual inspection, suggests a significantly higher recall but does not reveal significant differences in precision.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Using triangular shapes, it is possible to show six viewpoints on a 2D space [20].
- 3.
References
Berry, D.M., Kamsties, E., Krieger, M.M.: From contract drafting to software specification: Linguistic sources of ambiguity. Technical report, School of Computer Science, University of Waterloo, Canada (2001)
Bano, M.: Addressing the challenges of requirements ambiguity: A review of empirical literature. In: Proceedings of the International Workshop on Empirical Requirements Engineering, pp. 21–24 (2015)
Rosadini, B., Ferrari, A., Gori, G., Fantechi, A., Gnesi, S., Trotta, I., Bacherini, S.: Using NLP to detect requirements defects: an industrial experience in the railway domain. In: Grünbacher, P., Perini, A. (eds.) REFSQ 2017. LNCS, vol. 10153, pp. 344–360. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-54045-0_24
Cambria, E., White, B.: Jumping NLP curves: A review of natural language processing research. IEEE Comput. Intell. Mag. 9(2), 48–57 (2014)
Berry, D., Gacitua, R., Sawyer, P., Tjong, S.F.: The case for dumb requirements engineering tools. In: Regnell, B., Damian, D. (eds.) REFSQ 2012. LNCS, vol. 7195, pp. 211–217. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28714-5_18
Lucassen, G., Dalpiaz, F., van der Werf, J.M.E.M., Brinkkemper, S.: Improving agile requirements: the quality user story framework and tool. Requirements Eng. 21(3), 383–403 (2016)
Cohn, M.: User Stories Applied: for Agile Software Development. Addison Wesley Professional, Redwood City (2004)
Robeer, M., Lucassen, G., Van der Werf, J.M., Dalpiaz, F., Brinkkemper, S.: Automated extraction of conceptual models from user stories via NLP. In: Proceedings of the International Requirements Engineering Conference (2016)
Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., Goedicke, M.: Viewpoints: A framework for integrating multiple perspectives in system development. Int. J. Softw. Eng. Knowl. Eng. 2(1), 31–57 (1992)
Mullery, G.P.: CORE - a method for controlled requirement specification. In: Proceedings of the International Conference on Software Engineering, pp. 126–135 (1979)
Sommerville, I., Sawyer, P.: Viewpoints: principles, problems and a practical approach to requirements engineering. Ann. Softw. Eng. 3(1), 101–130 (1997)
Shaw, M.L., Gaines, B.R.: Comparing conceptual structures: consensus, conflict, correspondence and contrast. Knowl. Acquisition 1(4), 341–363 (1989)
Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)
DiMarco, C., Hirst, G., Stede, M.: The semantic and stylistic differentiation of synonyms and near-synonyms. In: Proceedings of the AAAI Spring Symposium, pp. 114–121 (1993)
Rips, L.J., Shoben, E.J., Smith, E.E.: Semantic distance and the verification of semantic relations. J. Verbal Learn. Verbal Behav. 12(1), 1–20 (1973)
Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., Dean, J.: Distributed representations of words and phrases and their compositionality. In: Proceedings of the Neural Information Processing Systems Conference, pp. 3111–3119 (2013)
De Sousa Webber, F.: Semantic folding theory and its application in semantic fingerprinting (2015). arXiv preprint arXiv:1511.08855
van der Schalk, I.: REVV: A tool to create a better understanding of software requirements through Information Visualization and NLP. Master’s thesis, Utrecht University (2017)
Micallef, L.: Visualizing set relations and cardinalities using Venn and Euler diagrams. Ph.D. thesis, University of Kent (2013)
Carroll, J.J.: Drawing Venn triangles. HP Labs Technical Report (73) (2000)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2
Abad, Z.S.H., Ruhe, G., Noaeen, M.: Requirements engineering visualization: a systematic literature review. In: Proceedings of the International Requirements Engineering Conference (2016)
Savio, D., Anitha, P., Patil, A., Creighton, O.: Visualizing requirements in distributed system development. In: Proceedings of the Workshop on Requirements Engineering for Systems, Services and Systems-of-Systems, pp. 14–19. IEEE (2012)
Reddivari, S., Rad, S., Bhowmik, T., Cain, N., Niu, N.: Visual requirements analytics: A framework and case study. Requirements Eng. 19(3), 257–279 (2014)
Lucassen, G., Dalpiaz, F., van der Werf, J.M.E.M., Brinkkemper, S.: Visualizing user story requirements at multiple granularity levels via semantic relatedness. In: Comyn-Wattiau, I., Tanaka, K., Song, I.-Y., Yamamoto, S., Saeki, M. (eds.) ER 2016. LNCS, vol. 9974, pp. 463–478. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46397-1_35
Yang, H., De Roeck, A., Gervasi, V., Willis, A., Nuseibeh, B.: Analysing anaphoric ambiguity in natural language requirements. Requirements Eng. 16(3), 163 (2011)
Tjong, S.F., Berry, D.M.: The design of SREE: A prototype potential ambiguity finder for requirements specifications and lessons learned. In: Proceedings of the International Working Conference on Requirements Engineering: Foundation for Software Quality, vol. 7830, pp. 80–95 (2013)
Willis, A., Chantree, F., De Roeck, A.: Automatic identification of nocuous ambiguity. Res. Lang. Comput. 6(3), 355–374 (2008)
Kiyavitskaya, N., Zeni, N., Mich, L., Berry, D.M.: Requirements for tools for ambiguity identification and measurement in natural language requirements specifications. Requirements Eng. 13(3), 207–239 (2008)
Ferrari, A., Lipari, G., Gnesi, S., Spagnolo, G.O.: Pragmatic ambiguity detection in natural language requirements. In: Proceedings of the International Workshop on Artificial Intelligence for Requirements Engineering, pp. 1–8. IEEE (2014)
Acknowledgment
This project has received funding from the SESAR Joint Undertaking under grant agreement No 699306 under European Union’s Horizon 2020 research and innovation programme.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Dalpiaz, F., van der Schalk, I., Lucassen, G. (2018). Pinpointing Ambiguity and Incompleteness in Requirements Engineering via Information Visualization and NLP. In: Kamsties, E., Horkoff, J., Dalpiaz, F. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2018. Lecture Notes in Computer Science(), vol 10753. Springer, Cham. https://doi.org/10.1007/978-3-319-77243-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-77243-1_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-77242-4
Online ISBN: 978-3-319-77243-1
eBook Packages: Computer ScienceComputer Science (R0)