skip to main content
review-article

Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey

Authors Info & Claims
Published:14 September 2015Publication History
Skip Abstract Section

Abstract

Requirements Engineering is one of the most vital activities in the entire Software Development Life Cycle. The success of the software is largely dependent on how well the users' requirements have been understood and converted into appropriate functionalities in the software. Typically, the users convey their requirements in natural language statements that initially appear easy to state. However, being stated in natural language, the statement of requirements often tends to suffer from misinterpretations and imprecise inferences. As a result, the requirements specified thus, may lead to ambiguities in the software specifications. One can indeed find numerous approaches that deal with ensuring precise requirement specifications. Naturally, an obvious approach to deal with ambiguities in natural language software specifications is to eliminate ambiguities altogether i.e. to use formal specifications. However, the formal methods have been observed to be cost-effective largely for the development of mission-critical software. Due to the technical sophistication required, these are yet to be accepted in the mainstream. Hence, the other alternative is to let the ambiguities exist in the natural language requirements but deal with the same using proven techniques viz. using approaches based on machine learning, knowledge and ontology to resolve them. One can indeed find numerous automated and semi-automated tools to resolve specific types of natural language software requirement ambiguities. However, to the best of our knowledge there is no published literature that attempts to compare and contrast the prevalent approaches to deal with ambiguities in natural language software requirements. Hence, in this paper, we attempt to survey and analyze the prevalent approaches that attempt to resolve ambiguities in natural language software requirements. We focus on presenting a state-of-the-art survey of the currently available tools for ambiguity resolution. The objective of this paper is to disseminate, dissect and analyze the research work published in the area, identify metrics for a comparative evaluation and eventually do the same. At the end, we identify open research issues with an aim to spark new interests and developments in this field.

References

  1. Sommerville, I. and Sawyer, P. 1997. Requirements Engineering A good practice guide. Chichester: John Wiley & Sons Ltd. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Nuseibeh, B., & Easterbrook, S. 2000, May. Requirements engineering: a roadmap. In Proceedings of the Conference on the Future of Software Engineering (pp. 35--46). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Belev, G. C. 1989, January. Guidelines for specification development. InReliability and Maintainability Symposium, 1989. Proceedings., Annual (pp. 15--21). IEEE.Google ScholarGoogle Scholar
  4. Christel, M. G., & Kang, K. C. 1992. Issues in requirements elicitation (No. CMU/SEI-92-TR-12). CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST.Google ScholarGoogle Scholar
  5. Donald G. Firesmith. 2007. Common Requirements Problems, Their Negative Consequences, and Industry Best Practices to Help Solve Them. In Journal of Object Technology, vol. 6, no. 1, January-February 2007, pp. 17--33Google ScholarGoogle ScholarCross RefCross Ref
  6. Berry, D. M., Kamsties, E., & Krieger, M. M. 2003. From contract drafting to software specification: Linguistic sources of ambiguity. Technical Report, University of Waterloo, Waterloo, Canada. Available at. http://se.uwaterloo.ca/~dberry/handbook/ ambiguityHandbook.pdfGoogle ScholarGoogle Scholar
  7. Hutchison, D., Araki, K., Kanade, T., Kittler, J., Kleinberg, J. M., Liu, S. and Weikum, G. 2008. Formal Methods and Software Engineering: 10th International Conference on Formal Engineering Methods, ICFEM 2008, Kitakyushu-City, Japan, October 27-31, 2008. Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg.Google ScholarGoogle Scholar
  8. Wordsworth, John B. 1992. Software development with Z: a practical approach to formal methods in software engineering. Addison-Wesley Longman Publishing Co., Inc., 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Kamsties, E., & Peach, B. 2000, December. Taming ambiguity in natural language requirements. In Proceedings of the Thirteenth International Conference on Software and Systems Engineering and Applications.Google ScholarGoogle Scholar
  10. Zave, Pamela. 1997. Classification of research efforts in requirements engineering. ACM Computing Surveys (CSUR) 29.4 (1997): 315--321. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Nancy Ide and Jean Véronis. 1998. Introduction to the special issue on word sense disambiguation: The state of the art. Computational Linguistics - Special issue on word sense disambiguation, Volume 24 Issue 1,2--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fabbrini, F., M. Fusani, S. Gnesi, and G. Lami. 2001. The Linguistic Approach to the Natural Language Requirements Quality: Benefit of the use of an Automatic Tool. SEW'01 proceeding of the 26th annual NASA Goddard Software Engineering Workshop, IEEE Computer Society Washington, DC, USA, 97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Willis, Alistair, Francis Chantree, and Anne De Roeck. 2008. Automatic Identification of Nocuous Ambiguity. Research on Language & Computation, 6 (3-4), 1--23.Google ScholarGoogle ScholarCross RefCross Ref
  14. Sven Körner and TorbenBrumm. 2009. RESI-A natural language specification improver. IEEE International Conference on Semantic Computing (ICSC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sri Fatimah Tjong. 2008. Avoiding ambiguity in requirements specifications.Thesis submitted to the University of Nottingham for the degree of Doctor of Philosophy.Google ScholarGoogle Scholar
  16. Tjong, Sri Fatimah, and Daniel M. Berry. 2013. The Design of SREE--A Prototype Potential Ambiguity Finder for Requirements Specifications and Lessons Learned. Requirements Engineering: Foundation for Software Quality. Springer Berlin Heidelberg, 2013. 80--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hui Yang, Alistair Willis, Anne De Roeck, Bashar Nuseibeh. 2010. Automatic Detection of Nocuous Coordination Ambiguities in Natural Language Requirements. Proceedings of the IEEE/ACM international conference on Automated software engineering, 53--62. ISBN: 978-1-4503-0116-9. DOI=10.1145/1858996.1859007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hui Yang, Anne de Roeck ,Vincenzo Gervasi, Alistair Willis Bashar Nuseibeh. 2011. Analyzing anaphoric ambiguity in natural language requirements. Requirements Engineering - Special Issue on Best Papers of RE'10: Requirements Engineering in a Multifaceted World, Volume 16 Issue 3, 163--189. DOI=10.1007/s00766-011-0119-y. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Basili, Victor R., Scott Green, Oliver Laitenberger, Filippo Lanubile, Forrest Shull, Sivert Sorumgard. 1995. The Empirical Investigation of Perspective-Based Reading. Technical report the empirical investigation of perspective based reading. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Imran SarwarBajwa. 2012. Resolving Syntactic Ambiguities in Natural Language Specification of Constraints. CICLing'12 Proceedings of the 13th international conference on Computational Linguistics and Intelligent Text Processing, Volume 1, 178--187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Abderrahman Matoussi and RégineLaleau. 2008. A Survey of Non-Functional Requirements. In Software Development Process Technical report TR-LACL-2008-7, LACL (Laboratory of Algorithms, Complexity and Logic), University of Paris-Est (Paris 12).Google ScholarGoogle Scholar
  22. Heitmeyer, Constance L., Ralph D. Jeffords, and Bruce G. Labaw., 1996. Automated Consistency Checking of Requirements Specifications. ACM Transactions on Software Engineering and Methodology (TOSEM), ACM vol. 5, no. 3, 231--261. DOI=10.1145/234426.234431. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Ryan and K. 1993. The role of natural language in requirements engineering. Proceedings of the IEEE Int. Symposium on Requirements Engineering. San Diego, CA, 240--242.Google ScholarGoogle Scholar
  24. Kof and L. 2004. Natural Language Processing for Requirement Engineering: Applicability to large Requirements Documents. Available at. http://www.dsl.uow.edu.au/~jp989/Scalability_ WITSE04.pdfGoogle ScholarGoogle Scholar
  25. Eric Brill. 1995. Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part-of-Speech Tagging. Journal computational linguistics volume 21 issue 4 December, 543--565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Robin. 2009. POS-Tagging. Available at http://language.worldofcomputing.net/pos-tagging, Dec.4th 2009.Google ScholarGoogle Scholar
  27. Tagger.Available at. http://nltk.googlecode.com/svn/t runk/doc/h owto/tag.htmlGoogle ScholarGoogle Scholar
  28. Hajič, J., Votrubec, J., Krbec, P., & Květoň, P. 2007,June.. The best of two worlds: Cooperation of statistical and rule-based taggers for Czech. InProceedings of the Workshop on Balto- Slavonic Natural Language Processing: Information Extraction and Enabling Technologies (pp. 67--74). Association for Computational Linguistics. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Klein, Dan, and Christopher D. Manning. 2003. Accurate unlexicalized parsing. Proc. of the 41st Annual Meeting on Association for Computational Linguistics-Volume 1, 2003, pp. 423--430 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Cer, Daniel M., Marie-Catherine De Marneffe, Daniel Jurafsky, and Christopher D. Manning. 2010. Parsing to Stanford Dependencies: Trade-offs between Speed and Accuracy. LREC, 2010Google ScholarGoogle Scholar
  31. Popescu, D., Rugaber, S., Medvidovic, N., & Berry, D. M. 2008. Improving the quality of requirements specifications via automatically created object-oriented models. Innovations for Requirements Engineering, 71.Google ScholarGoogle Scholar
  32. Kamsties, Erik, Daniel M. Berry, and Barbara Paech. 2001. Detecting ambiguities in requirements documents using inspections. Proceedings of the First Workshop on Inspection in Software Engineering (WISE'01), 68--80.Google ScholarGoogle Scholar
  33. Fagan, Michael. 2002. Reviews and inspections. Software Pioneers-Contributions to Software Engineering, 562--573. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Kiyavitskaya, Nadzeya, Nicola Zeni, Luisa Mich, and Daniel M. Berry. 2008. Requirements for tools for ambiguity identification and measurement in natural language requirements specifications, Requirements Engineering 13, no. 3, 207--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. McSherry, Frank, and Marc Najork. 2008. Computing information retrieval performance measures efficiently in the presence of tied scores. Advances in information retrieval. Springer Berlin Heidelberg, 2008. 414--421. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Tichy, W. F., Landh#228;ußer, M., Körner, S. J., & Fasanengarten, A. nlrpBENCH: A Benchmark for Natural Language Requirements Processing. Manuscript submitted for publication.Google ScholarGoogle Scholar
  37. TigerPro. http://www.therightrequirement.com/TigerPro/TigerPro.htmlGoogle ScholarGoogle Scholar
  38. K.R. Chowdhary. 2012. Natural Language Processing. M.B.M. Engineering College, Jodhpur, India, lecture notes 2012.Google ScholarGoogle Scholar
  39. Bas Basten and Tijs van der Storm. 2010. AMBIDEXTER: Practical Ambiguity Detection Tool Demonstration. Source Code Analysis and Manipulation (SCAM), 2010 10th IEEE Working Conference, 101--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Fuchs, Norbert E., Kaarel Kaljurand, and Tobias Kuhn. 2008. Attempto Controlled English for Knowledge Representation. In Reasoning Web, Springer-Verlag Berlin Heidelberg, LNCS 5224, pp. 104--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Miles Osborne and MacNisht. 1996. Processing Natural Language Software Requirement Specifications. Proceedings of ICRE, IEEE, 229--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Popescu, D., Rugaber, S., Medvidovic, N., & Berry, D. M. 2008. Reducing ambiguities in requirements specifications via automatically created object-oriented models. In Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs (pp. 103--124). Springer Berlin Heidelberg. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Grishman, Ralph. 1997. Information extraction: Techniques and challenges.Information extraction a multidisciplinary approach to an emerging information technology. Springer Berlin Heidelberg, 1997. 10--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Kavi Mahesh and Sergei Nirenburg. 1996. Knowledge-based Systems for Natural Language Processing. Chapter Simon Fraser University -- Athabasca University, Canada, 1996Google ScholarGoogle Scholar
  45. Thelin, T., Runeson, P., & Wohlin, C. 2003. An experimental comparison of usage-based and checklist-based reading. Software Engineering, IEEE Transactions on, 29(8), 687--704. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Christina Unger and Philipp Cimiano, 2011. Representing and resolving ambiguities in ontology-based question answering. TIWTE'11 proceedings of the TextInfer workshop on Textual Entailment, Springer, 40--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Inah Omoronyia. 2010. A Domain Ontology Building Process for Guiding Requirements Elicitation. In: R. Wieringa and A. Persson (Eds.): REFSQ 2010, LNCS 6182, Springer-Verlag Berlin Heidelberg , pp. 188--202.Google ScholarGoogle Scholar
  48. Hassell, Joseph, Boanerges Aleman-Meza, and I. Budak Arpinar. 2006. Ontology-Driven Automatic Entity Disambiguation in Unstructured Text. In : I. Cruz et al. (Eds.): ISWC 2006, LNCS 4273, pp. 44--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Gracia, Jorge, Vanessa Lopez, Mathieu d'Aquin, Marta Sabou, Enrico Motta. 2007. Solving semantic ambiguity to improve semantic web based ontology matching. The 2nd International Workshop on Ontology Matching, Busan, South KoreaGoogle ScholarGoogle Scholar
  50. Anandha Mala and Uma. 2006. Object Oriented Visualization of Natural Language Requirement Specification and NFR Preference Elicitation, In : IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.8, 91--100.Google ScholarGoogle Scholar
  51. Barrett and Beum-Seuk Lee. 2002. Two-level Grammar as an Object-Oriented Requirements Specification Language.Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS'02) -Volume 9 - Volume 9, 280, ISBN:0-7695-1435-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Norbert Jastroch and Thomas Marlowe. 2010. Knowledge Transfer in Collaborative Knowledge Management: A Semiotic View. Systemics, Cybernetics and Informatics, JSCI, Vol. 8, No. 6, 6--11.Google ScholarGoogle Scholar
  53. SBVR version 1.0. January, 2000. http://www.omg.org/spec/SBVR/1.0Google ScholarGoogle Scholar
  54. Bajwa, Imran Sarwar, Behzad Bordbar, and Mark G. Lee. 2010. OCL constraints generation from natural language specification. In Enterprise Distributed Object Computing Conference (EDOC), 2010 14th IEEE International, 2010, pp. 204--213 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Al-Harbi, O., Jusoh, S., & Norwawi, N. 2012. Handling Ambiguity Problems of Natural Language Interface for Question Answering.Google ScholarGoogle Scholar
  56. Song, Y., Yi, E., Kim, E., Lee, G. G., & Park, S. J. 2004. POSBIOTM-NER: a machine learning approach for bio-named entity recognition. Korea, 305, 350.Google ScholarGoogle Scholar
  57. Chantree, Francis, Bashar Nuseibeh, Anne De Roeck, and Alistair Willis. 2006. Identifying Nocuous Ambiguities in Natural Language Requirements. Proceedings of 14th IEEE International Requirements Engineering Conference (RE'06), Minneapolis, USA, 59--68. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader