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.
- Sommerville, I. and Sawyer, P. 1997. Requirements Engineering A good practice guide. Chichester: John Wiley & Sons Ltd. Google ScholarDigital Library
- 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 ScholarDigital Library
- Belev, G. C. 1989, January. Guidelines for specification development. InReliability and Maintainability Symposium, 1989. Proceedings., Annual (pp. 15--21). IEEE.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Zave, Pamela. 1997. Classification of research efforts in requirements engineering. ACM Computing Surveys (CSUR) 29.4 (1997): 315--321. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Willis, Alistair, Francis Chantree, and Anne De Roeck. 2008. Automatic Identification of Nocuous Ambiguity. Research on Language & Computation, 6 (3-4), 1--23.Google ScholarCross Ref
- Sven Körner and TorbenBrumm. 2009. RESI-A natural language specification improver. IEEE International Conference on Semantic Computing (ICSC). Google ScholarDigital Library
- Sri Fatimah Tjong. 2008. Avoiding ambiguity in requirements specifications.Thesis submitted to the University of Nottingham for the degree of Doctor of Philosophy.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Robin. 2009. POS-Tagging. Available at http://language.worldofcomputing.net/pos-tagging, Dec.4th 2009.Google Scholar
- Tagger.Available at. http://nltk.googlecode.com/svn/t runk/doc/h owto/tag.htmlGoogle Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Fagan, Michael. 2002. Reviews and inspections. Software Pioneers-Contributions to Software Engineering, 562--573. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- TigerPro. http://www.therightrequirement.com/TigerPro/TigerPro.htmlGoogle Scholar
- K.R. Chowdhary. 2012. Natural Language Processing. M.B.M. Engineering College, Jodhpur, India, lecture notes 2012.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Miles Osborne and MacNisht. 1996. Processing Natural Language Software Requirement Specifications. Proceedings of ICRE, IEEE, 229--236. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kavi Mahesh and Sergei Nirenburg. 1996. Knowledge-based Systems for Natural Language Processing. Chapter Simon Fraser University -- Athabasca University, Canada, 1996Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- SBVR version 1.0. January, 2000. http://www.omg.org/spec/SBVR/1.0Google Scholar
- 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 ScholarDigital Library
- Al-Harbi, O., Jusoh, S., & Norwawi, N. 2012. Handling Ambiguity Problems of Natural Language Interface for Question Answering.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey
Recommendations
Automated handling of anaphoric ambiguity in requirements: a multi-solution study
ICSE '22: Proceedings of the 44th International Conference on Software EngineeringAmbiguity is a pervasive issue in natural-language requirements. A common source of ambiguity in requirements is when a pronoun is anaphoric. In requirements engineering, anaphoric ambiguity occurs when a pronoun can plausibly refer to different ...
Toward a text classification system for the quality assessment of software requirements written in natural language
SOQUA '07: Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meetingRequirements Engineering (RE) is concerned with the gathering, analyzing, specifying and validating of user requirements that are documented mostly in natural language. The artifact produced by the RE process is the software requirements specification (...
TAPHSIR: towards AnaPHoric ambiguity detection and ReSolution in requirements
ESEC/FSE 2022: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringWe introduce TAPHSIR – a tool for anaphoric ambiguity detection and anaphora resolution in requirements. TAPHSIR facilities reviewing the use of pronouns in a requirements specification and revising those pronouns that can lead to misunderstandings ...
Comments