skip to main content
review-article

Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey

Published: 14 September 2015 Publication History

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.
[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).
[3]
Belev, G. C. 1989, January. Guidelines for specification development. InReliability and Maintainability Symposium, 1989. Proceedings., Annual (pp. 15--21). IEEE.
[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.
[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--33
[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.pdf
[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.
[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.
[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.
[10]
Zave, Pamela. 1997. Classification of research efforts in requirements engineering. ACM Computing Surveys (CSUR) 29.4 (1997): 315--321.
[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.
[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.
[13]
Willis, Alistair, Francis Chantree, and Anne De Roeck. 2008. Automatic Identification of Nocuous Ambiguity. Research on Language & Computation, 6 (3-4), 1--23.
[14]
Sven Körner and TorbenBrumm. 2009. RESI-A natural language specification improver. IEEE International Conference on Semantic Computing (ICSC).
[15]
Sri Fatimah Tjong. 2008. Avoiding ambiguity in requirements specifications.Thesis submitted to the University of Nottingham for the degree of Doctor of Philosophy.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[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.pdf
[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.
[26]
Robin. 2009. POS-Tagging. Available at http://language.worldofcomputing.net/pos-tagging, Dec.4th 2009.
[27]
Tagger.Available at. http://nltk.googlecode.com/svn/t runk/doc/h owto/tag.html
[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.
[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
[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, 2010
[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.
[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.
[33]
Fagan, Michael. 2002. Reviews and inspections. Software Pioneers-Contributions to Software Engineering, 562--573.
[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.
[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.
[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.
[37]
TigerPro. http://www.therightrequirement.com/TigerPro/TigerPro.html
[38]
K.R. Chowdhary. 2012. Natural Language Processing. M.B.M. Engineering College, Jodhpur, India, lecture notes 2012.
[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.
[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.
[41]
Miles Osborne and MacNisht. 1996. Processing Natural Language Software Requirement Specifications. Proceedings of ICRE, IEEE, 229--236.
[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.
[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.
[44]
Kavi Mahesh and Sergei Nirenburg. 1996. Knowledge-based Systems for Natural Language Processing. Chapter Simon Fraser University -- Athabasca University, Canada, 1996
[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.
[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.
[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.
[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.
[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 Korea
[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.
[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.
[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.
[53]
SBVR version 1.0. January, 2000. http://www.omg.org/spec/SBVR/1.0
[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
[55]
Al-Harbi, O., Jusoh, S., & Norwawi, N. 2012. Handling Ambiguity Problems of Natural Language Interface for Question Answering.
[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.
[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.

Cited By

View all

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 5
    September 2015
    67 pages
    ISSN:0163-5948
    DOI:10.1145/2815021
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 September 2015
    Published in SIGSOFT Volume 40, Issue 5

    Check for updates

    Author Tags

    1. Ambiguity
    2. Natural Language Processing
    3. Requirements Engineering

    Qualifiers

    • Review-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)116
    • Downloads (Last 6 weeks)13
    Reflects downloads up to 31 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media