Skip to main content

Ambiguity in Requirements Engineering: Towards a Unifying Framework

  • Chapter
  • First Online:
From Software Engineering to Formal Methods and Tools, and Back

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11865))

Abstract

A long stream of research in RE has been devoted to analyzing the occurrences and consequences of ambiguity in requirements documents. Ambiguity often occurs in documents, most often in natural language (NL) ones, but occasionally also in formal specifications, be it because of abstraction, or of imprecise designation of which real-world entities are denotated by certain expressions. In many of those studies, ambiguity has been considered a defect to be avoided. In this paper, we investigate the nature of ambiguity, and advocate that the simplistic view of ambiguity as merely a defect in the document does not do justice to the complexity of this phenomenon. We offer a more extensive analysis, based on the multiple linguistic sources of ambiguity, and present a list of real-world cases, both in written matter and in oral interviews, that we analyze based on our framework. We hope that a better understanding of the phenomenon can help in the analysis of practical experiences and in the design of more effective methods to detect, mark and handle ambiguity.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In fact, a statement can be ambiguous or not depending on which particular semantics we observe. For example, a requirement asking for a given feature in ambiguous terms could be interpreted in several different ways for the purpose of implementing the feature, and thus be ambiguous; however, if the possible interpretations all have the same implementation costs, the meaning would be unique for cost-estimate purposes, and thus no ambiguity would arise in that particular denotation.

  2. 2.

    The Bahá’í calendar, for example, has 19 months of 19 days each, plus 4 intercalary days (5 in leap years) which are not part of any month. How would our requirement be interpreted in a Bahá’í community?

  3. 3.

    For a concrete example, even an experienced C language programmer might look puzzled at a statement like long c=3["test"]; which is perfectly legal and unambiguous in the language. But then, int x=*(char *)&c;, which is again legal, produces results which are not specified by the semantics, and is thus ambiguous (probably, x would be either 0 or 116).

  4. 4.

    In fact, we rather believe that it is essentially impossible to write unambiguous specifications, with space for doubt for some purely symbolic processing system (such as lexical domains in [11]), that start with Peano axioms [20] and work up from those.

  5. 5.

    Ergative is the grammatical case for nouns that identify the intentional agent of a verb (especially a transitive verb), often marked by a special suffix or prefix.

  6. 6.

    The reader will notice that the ambiguity is not raised by the vague expression a lot, which appeared acceptable at that stage of the conversation.

  7. 7.

    A deictic expression refers to something that only exist in the context, e.g. “here” referring to the current location of the speaker, never appearing in text.

  8. 8.

    https://www.qualicen.de/en/.

  9. 9.

    https://qracorp.com.

  10. 10.

    https://www.osseno.com/en/.

References

  1. Zowghi, D., Gervasi, V.: The 3Cs of requirements: consistency, completeness, and correctness. In: Salinesi, C., Regnell, B., Pohl, K. (eds.) Proceedings of REFSQ 2002, Essener Informatik Beitrage, pp. 155–164, September 2002

    Google Scholar 

  2. Zowghi, D., Gervasi, V.: On the interplay between consistency, completeness, and correctness in requirements evolution. Inf. Softw. Technol. 46(11), 763–779 (2004)

    Article  Google Scholar 

  3. Gervasi, V., Zowghi, D.: On the role of ambiguity in RE. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 248–254. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14192-8_22

    Chapter  Google Scholar 

  4. Scott, D., Strachey, C.: Toward a mathematical semantics for computer languages. Technical report PRG-6, Oxford Programming Research Group (1971)

    Google Scholar 

  5. ISO: Information Technology - Z Formal Specification Notation - Syntax, Type System and Semantics. ISO (2002)

    Google Scholar 

  6. Scott, D.S.: Lambda calculus: some models, some philosophy. In: Barwise, J., Keisler, H.J., Kunen, K. (eds.) The Kleene Symposium, pp. 223–265. North-Holland Publishing Company, Amsterdam (1980)

    Chapter  Google Scholar 

  7. Fabbrini, F., Fusani, M., Gervasi, V., Gnesi, S., Ruggieri, S.: On linguistic quality of natural language requirements. In: Dubois, E., Opdahl, A.L., Pohl, K. (eds.) Proceedings of REFSQ 1998, 57–62. Presses Universitaires de Namur, Pisa (1998)

    Google Scholar 

  8. Berry, D., Kamsties, E., Krieger, M.: From contract drafting to system specification: linguistic sources of ambiguity (2003)

    Google Scholar 

  9. Berry, D., Bucchiarone, A., Gnesi, S., Lami, G., Trentanni, G.: A new quality model for natural language requirements specifications. In: Proceedings of REFSQ 2006, Luxembourg (2006)

    Google Scholar 

  10. Kiyavitskaya, N., Zeni, N., Mich, L., Berry, D.M.: Requirements for tools for ambiguity identification and measurement in natural language requirements specifications. Requir. Eng. 13(3), 207–239 (2008)

    Article  Google Scholar 

  11. Jackson, M.: Problem Frames. Addison Wesley, Harlow (2001)

    Google Scholar 

  12. Fellbaum, C. (ed.): WordNet: An Electronic Lexical Database. MIT Press, Cambridge (1998)

    MATH  Google Scholar 

  13. Breitman, K.K., Sampaio do Prado Leite, J.C.: Lexicon based ontology construction. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) SELMAS 2003. LNCS, vol. 2940, pp. 19–34. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24625-1_2

    Chapter  Google Scholar 

  14. Plato: Cratylus. In: Cooper, J.M., Hutchinson, D.S. (eds.) Plato Complete Works. Hackett Publishing (1997)

    Google Scholar 

  15. Carroll, L.: Through the Looking-Glass, and What Alice Found There. Macmillan, London (1871). (pseudonym of C. L. Dodgson)

    Google Scholar 

  16. Rice, S.L.: Loglan 3: Understanding Loglan. Master’s thesis, University of Alaska at Fairbanks, May 1994. (Reprinted in serialized form by the Loglan Institute, Inc. in La Logli issues 1997/1, 1997/2 and 1997/3)

    Google Scholar 

  17. Berry, D.M., Kamsties, E.: Ambiguity in requirements specifications. In: do Prado Leite, J.C.S., Doorn, J.H. (eds.) Perspectives on Software Requirements, vol. 753, pp. 7–44. The Kluwer International Series in Engineering and Computer Science. Springer (2004)

    Google Scholar 

  18. Gervasi, V.: Environment Support for Requirements Writing and Analysis. Ph.D. thesis, University of Pisa, March 2000

    Google Scholar 

  19. Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-functional Requirements in Software Engineering. Kluwer Academic Publishers, Massachusetts (2000)

    Book  Google Scholar 

  20. Peano, G.: Arithmetices principia, nova methodo exposita. Fratres Bocca, Turin (1889). (in Latin)

    MATH  Google Scholar 

  21. Meyer, B.: On formalism in specifications. IEEE Softw. 2(1), 6–26 (1985)

    Article  Google Scholar 

  22. Ferrari, A., et al.: Detecting requirements defects with NLP patterns: an industrial experience in the railway domain. Empirical Softw. Eng. 23(6), 3684–3733 (2018)

    Article  Google Scholar 

  23. Yang, H., Deroeck, A., Gervasi, V., Willis, A., Nuseibeh, B.: Extending nocuous ambiguity analysis for anaphora in natural language requirements. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, Sydney (2010)

    Google Scholar 

  24. Chantree, F., Nuseibeh, B., de Roeck, A., Willis, A.: Identifying nocuous ambiguities in requirements specifications. In: Proceedings of 14th IEEE International Requirements Engineering Conference (RE 2006), Minneapolis/St. Paul, Minnesota, September 2006

    Google Scholar 

  25. Ferrari, A., Spoletini, P., Gnesi, S.: Ambiguity and tacit knowledge in requirements elicitation interviews. Requirements Eng. 21(3), 333–355 (2016)

    Article  Google Scholar 

  26. Ferrari, A., Spoletini, P., Gnesi, S.: Ambiguity cues in requirements elicitation interviews. In: IEEE 24th International Requirements Engineering Conference (RE), pp. 56–65. IEEE (2016)

    Google Scholar 

  27. Boehm, B.: Some experiences with automated aids to the design of largescale reliable software. IEEE Trans. Software Eng. 1(1), 125–133 (1975)

    Article  Google Scholar 

  28. Gause, D.C., Weinberg, G.M.: Exploring Requirements: Quality Before Design. Dorset House, New York (1989)

    MATH  Google Scholar 

  29. Schneider, G.M., Martin, J., Tsai, W.T.: An experimental study of fault detection in user requirements documents. ACM Trans. Softw. Eng. Methodol. 1(2), 188–204 (1992)

    Article  Google Scholar 

  30. Kovitz, B.: Ambiguity and what to do about it. In: Proceedings of the 10th International Conference on Requirements Engineering. IEEE Computer Science Press, Los Alamitos (2002)

    Google Scholar 

  31. Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: An automatic quality evaluation for natural language requirements. In: Proceedings of REFSQ 2001, Interlaken (2001)

    Google Scholar 

  32. Gnesi, S., Lami, G., Trentanni, G., Fabbrini, F., Fusani, M., et al.: An automatic tool for the analysis of natural language requirements. Int. J. Comput. Syst. Sci. Eng. 20(1), 53–62 (2005)

    Google Scholar 

  33. Bubka, A., Gorfein, D.S.: Resolving semantic ambiguity: an introduction. In: Gorfein, D.S. (ed.) Resolving Semantic Ambiguity, pp. 3–12. Springer, New York (1989). https://doi.org/10.1007/978-1-4612-3596-5_1

    Chapter  Google Scholar 

  34. Kamsties, E., Berry, D., Paech, B.: Detecting ambiguities in requirements documents using inspections. In: Workshop on Inspections in Software Engineering (WISE 2001), Paris, pp. 68–80 (2001)

    Google Scholar 

  35. Gleich, B., Creighton, O., Kof, L.: Ambiguity detection: towards a tool explaining ambiguity sources. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 218–232. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14192-8_20

    Chapter  Google Scholar 

  36. Tjong, S.F., Berry, D.M.: The design of SREE — a prototype potential ambiguity finder for requirements specifications and lessons learned. In: Doerr, J., Opdahl, A.L. (eds.) REFSQ 2013. LNCS, vol. 7830, pp. 80–95. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37422-7_6

    Chapter  Google Scholar 

  37. Ferrari, A., Dell’Orletta, F., Esuli, A., Gervasi, V., Gnesi, S.: Natural language requirements processing: a 4D vision. IEEE Softw. 34(6), 28–35 (2017)

    Article  Google Scholar 

  38. Femmer, H., Fernández, D.M., Wagner, S., Eder, S.: Rapid quality assurance with requirements smells. J. Syst. Softw. 123, 190–213 (2017)

    Article  Google Scholar 

  39. Ferrari, A., Spoletini, P., Gnesi, S.: Ambiguity as a resource to disclose tacit knowledge. In: Zowghi, D., Gervasi, V., Amyot, D. (eds.) 23rd IEEE International Requirements Engineering Conference, RE 2015, Ottawa, 24–28 August 2015, pp. 26–35. IEEE Computer Society (2015)

    Google Scholar 

  40. Merlini Barbaresi, L.: Markedness in English Discourse: A semiotic approach. Edizioni Zara, Parma (1988)

    Google Scholar 

  41. Chandler, D.: Semiotics: The Basics, 2nd edn. Routledge, London (2007)

    Book  Google Scholar 

Download references

Acknowledgment

The authors would like to thank Stefania Gnesi for her pioneering work on ambiguity in requirements documents, and for the many scientific collaborations with her, on several subjects, that they have enormously enjoyed along the years. The first author wishes to acknowledge the financial support of the Centre for Human-Centred Technology Design Research at UTS which partially sponsored the present work. This work was partially supported by the National Science Foundation under grant CCF-1718377.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincenzo Gervasi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Gervasi, V., Ferrari, A., Zowghi, D., Spoletini, P. (2019). Ambiguity in Requirements Engineering: Towards a Unifying Framework. In: ter Beek, M., Fantechi, A., Semini, L. (eds) From Software Engineering to Formal Methods and Tools, and Back. Lecture Notes in Computer Science(), vol 11865. Springer, Cham. https://doi.org/10.1007/978-3-030-30985-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-30985-5_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-30984-8

  • Online ISBN: 978-3-030-30985-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics