Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Reasoning about inconsistencies in natural language requirements

Published: 01 July 2005 Publication History
  • Get Citation Alerts
  • Abstract

    The use of logic in identifying and analyzing inconsistency in requirements from multiple stakeholders has been found to be effective in a number of studies. Nonmonotonic logic is a theoretically well-founded formalism that is especially suited for supporting the evolution of requirements. However, direct use of logic for expressing requirements and discussing them with stakeholders poses serious usability problems, since in most cases stakeholders cannot be expected to be fluent with formal logic. In this article, we explore the integration of natural language parsing techniques with default reasoning to overcome these difficulties. We also propose a method for automatically discovering inconsistencies in the requirements from multiple stakeholders, using both theorem-proving and model-checking techniques, and show how to deal with them in a formal manner. These techniques were implemented and tested in a prototype tool called CARL. The effectiveness of the techniques and of the tool are illustrated by a classic example involving conflicting requirements from multiple stakeholders.

    References

    [1]
    Abiteboul, S. and Simon, E. 1991. Fundamental properties of deterministic and nondeterministic extensions of Datalog. Theoret. Comput. Sci. 78, 1, 137--158.
    [2]
    Alchourrón, C. E., Gärdenfors, P., and Makinson, D. 1985. On the logic of theory change: Partial meet contraction and revision functions. J. Symbol. Logic 50, 510--530.
    [3]
    Ali, S. 1994. A logical language for natural language processing. In Proceedings of the 10th Biennial Canadian Artifical Intelligence Conference (Banff, Alta., Canada). 187--196.
    [4]
    Ambriola, V. and Gervasi, V. 1999. Experiences with domain-based parsing of natural language requirements. In Proceedings of the Fourth International Conference on Applications of Natural Language to Information Systems, G. Fliedl and H. C. Mayr, Eds. OCG Schriftenreihe (Lecture Notes), no. 129. OGC, Klagenfurt, Austria, 145--148.
    [5]
    Balzer, R. 1991. Tolerating inconsistency. In Proceedings of the 13th International Conference on Software Engineering (ICSE-13). IEEE Computer Society Press, Los Alamitos, CA, 158--165.
    [6]
    Berry, D. M., Kamsties, E., and Krieger, M. M. 2003. From contract drafting to software specification: Linguistic sources of ambiguity---a handbook. (unpublished as of July 2005, but available on-line at http://se.uwaterloo.ca/∼dberry/handbook/ambiguityHandbook.pdf).
    [7]
    Boehm, B. W. 1976. Software engineering. IEEE Trans. Comput. 25, 12 (Dec.), 1226--1241.
    [8]
    CHAOS. 1995. Software development report by the Standish group. Available online at http://www.standishgroup.com/chaos.html.
    [9]
    Chechik, M., Devereux, B., Easterbrook, S., and Gurfinkel, A. 2003. Multi-valued symbolic model-checking. ACM Trans. Softw. Eng. Methodol. 12, 4 (Oct.), 371--408.
    [10]
    Choi, Y., Rayadurgam, S., and Heimdahl, M. P. E. 2002. Toward automation for model-checking requirements specifications with numeric constraints. Requirements Eng. J. 7, 4 (Dec.), 225--242.
    [11]
    Clarke, E. M., Emerson, E. A., and Sisla, A. P. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Programm. Lang. Syst. 8, 2, 244--263.
    [12]
    Dalianis, H. 1992. A method for validating a conceptual model by natural language discourse generation. In Advanced Information Systems Engineering. Lecture Notes in Computer Science, vol. 593. Springer-Verlag, Berlin, Germany.
    [13]
    Daly, E. 1977. Management of software development. IEEE Trans. Softw. Eng. 3, 3 (May), 229--242.
    [14]
    Davis, A. M., Jordan, K., and Nakajima, T. 1997. Elements underlying the specification of requirements. Ann. Softw. Eng. 3, 63--100. (Special issue on Software Requirements Engineering)
    [15]
    Easterbrook, S. and Chechik, M. 2002. Guest editorial: Special issue on model checking in requirements engineering. Requirements Eng. J. 7, 4 (Dec.), 221--224.
    [16]
    Easterbrook, S. and Nuseibeh, B. 1996. Using viewpoints for inconsistency management. IEE Softw. Eng. J. 11, 1, 31--43.
    [17]
    Eshuis, R., Jansen, D. N., and Wieringa, R. 2002. Requirements-level semantics and model checking of object-oriented statecharts. Requirements Eng. J. 7, 4 (Dec.), 243--263.
    [18]
    Fantechi, A., Gnesi, S., Ristori, G., Carenini, M., Vanocchi, M., and Moreschini, P. 1994. Assisting requirement formalization by means of natural language translation. Form. Meth. Syst. Des. 4, 3, 243--263.
    [19]
    Finkelstein, A. and Dowell, J. 1996. A comedy of errors: The London Ambulance Service case study. In Proceedings of the 8th International Workshop on Software Specification & Design. IEEE Computer Society Press, Los Alamitos, CA, 2--4.
    [20]
    Finkelstein, D., Gabbay, A., Hunter, J., Kramer, B., and Nuseibeh, A. 1994. Inconsistency handling in multiperspective specifications. IEEE Trans. Softw. Eng. 20, 8, 569--577.
    [21]
    Fuchs, N. E. and Schwitter, R. 1995. Specifying logic programs in controlled natural language. In Proceedings of the Workshop on Computational Logic for Natural Language Processing (University of Edinburgh, Edinburgh, Scotland).
    [22]
    Gabbay, D. and Hunter, A. 1991. Making inconsistency respectable: A logical framework for inconsistency in reasoning, Part 1---a position paper. In Proceedings of Fundamentals AI Research. Lecture Notes in Computer Science, vol. 535. Springer-Verlag, New York, 19--32.
    [23]
    Garcez, A., Russo, A., Nuseibeh, B., and Kramer, J. 2003. Combining abductive reasoning and inductive learning to evolve requirements specifications. IEE Proc.---Softw. 150, 1 (Feb.), 25--38.
    [24]
    Gärdenfors, P. 1988. Knowledge in Flux: Modeling the Dynamics of Epistemic States. MIT Press, Cambridge, MA.
    [25]
    Gärdenfors, P. and Rott, H. 1995. Belief revision. In Handbook of Logic in Artificial Intelligence and Logic Programming Volume IV: Epistemic and Temporal Reasoning, D. M. Gabbay, C. J. Hogger, and J. A. Robinson, Eds. Oxford University Press, Oxford, U.K. 35--132.
    [26]
    Gervasi, V. 2000. Environment support for requirements writing and analysis. Ph.D. dissertation. University of Pisa, Pisa, Italy.
    [27]
    Gervasi, V. 2001. The Cico domain-based parser. Tech. rep. TR-01-25. Dipartimento di Informatica, University of Pisa, Pisa, Italy.
    [28]
    Gervasi, V. and Ambriola, V. 2002. Quantitative assessment of textual complexity. In Complexity in Language and Text, L. Merlini Barbaresi, Ed. PLUS-University of Pisa, Pisa, Italy, 197--228.
    [29]
    Gervasi, V. and Nuseibeh, B. 2002. Lightweight validation of natural language requirements. Softw.: Pract. Exper. 32, 2 (Feb.), 113--133.
    [30]
    Ghezzi, C. and Nuseibeh, B. 1998. Introduction to the special section on managing inconsistency in software development. IEEE Trans. Softw. Eng. 24, 11 (Nov.), 906--907.
    [31]
    Ghose, A. K. 1995. Practical belief change. Ph.D. dissertation. Department of Computing Science, University of Alberta, Edmonton, Alta., Canada.
    [32]
    Harper, W. L. 1977. Rational conceptual change. In PSA 1976 East Lansing, Mich.: Philosophy of Science Association, vol. 2. Philosophy of Science Association, East Lansing, MI, 462--494.
    [33]
    Hars, A. 1996. Advancing CASE productivity by using natural language processing and computerized ontologies: The ACAPULCO system. In Proceedings of the Eleventh Automated Software Engineering Conference.
    [34]
    Hunter, A. and Nuseibeh, B. 1998. Managing inconsistent specifications: Reasoning, analysis and action. Trans. Softw. Eng. Method. 7, 4 (Oct.), 335--367.
    [35]
    Huth, M. and Pradhan, S. 2004. Consistent partial model checking. Electron. Notes Theoret. Comput. Sci. 73, 45--85. (Proceedings of the Workshop on Domains VI.)
    [36]
    Ibanez, M. 1996. European user survey analysis. Tech. rep. ESI report TR95104. European Software Institute, Zamudio, Spain. Web site: www.esi.es.
    [37]
    Jackson, D. 2000. Automating first-order relational logic. In Proceedings of the 8th International Symposium on Foundations of Software Engineering (FSE8).
    [38]
    Juristo, N., Moreno, A. M., and López, M. 2000. How to use linguistic instruments for object-oriented analysis. IEEE Softw. 17, 3 (May/June), 80--89.
    [39]
    Kowalski, R. 1979. Logic for Problem Solving. North Holland Elsevier, New York, NY.
    [40]
    Levi, I. 1977. Subjunctives, dispositions and chances. Synthese 34, London, U.K., 423--455.
    [41]
    Macias, B. and Pulman, S. G. 1993. Natural Language Processing for Requirements Specification. Chapman and Hall, London, U.K., 57--89.
    [42]
    Makinson, D. 1985. How to give it up: A survey of some formal aspects of the logic of theory change. Synthese 62, 4, 347--363.
    [43]
    Marcus, M. P., Santorini, B., and Marcinkiewicz, M. A. 1993. Building a large annotated corpus of English: The Penn Treebank. Computa. Linguist. 19, 313--330.
    [44]
    Mich, L. 1996. NL-OOPS: From natural language requirements to object oriented requirements using the natural language processing system LOLITA. J. Natural Lang. Eng. 2, 2, 161--187.
    [45]
    Mich, L., Franch, M., and Novi Inverardi, P. 2004. Market research for requirements analysis using linguistic tools. Requirements Eng. J. 9, 1, 40--56.
    [46]
    Nebel, B. 1991. Belief revision and default reasoning: Syntax-based approaches. In Proceedings of the Second International Conference on Principles of Knowledge Representation and Reasoning. 417--428.
    [47]
    Neill, C. J. and Laplante, P. A. 2003. Requirements engineering: The state of the practice. IEEE Softw. 20, 6 (Nov./Dec.), 40--45.
    [48]
    Nuseibeh, B. 1996. To be and not to be: On managing inconsistency in software development. In Proceedings of the IEEE International Workshop on Software Specification and Design (IWSSD-8). IEEE Computer Society Press, Los Alamitos, CA, 164--169.
    [49]
    Poole, D. 1988. A logical framework for default reasoning. Art. Intell. 36, 27--47.
    [50]
    Poole, D., Goebel, R., and Aleliunas, R. 1987. Theorist: A logical reasoning system for defaults and diagnosis. In The Knowledge Frontier: Essays in the Representation of Knowledge, N. Cercone and G. McCalla, Eds. Springer Verlag, Berlin, Germany, 331--352.
    [51]
    Reeves, S. and Clarke, M. 1990. Logic for Computer Science. Addison-Wesley, Reading, MA.
    [52]
    Rolland, C. and Proix, C. 1992. A natural language approach for requirements engineering. In Proceedings of the Fourth International Conference CAiSE'92 on Advanced Information Systems Engineering, P. Loucopoulos, Ed. Lecture Notes in Computer Science, vol. 593. Springer-Verlag, Berlin, Germany, 257--277.
    [53]
    Russo, A., Miller, R., Nuseibeh, B., and Kramer, J. 2002. An abductive approach for analysing event-based requirements specifications. In Proceedings of the 18th International Conference on Logic Programming (Copenhagen, Denmark).
    [54]
    Russo, A. and Nuseibeh, B. 2001. On the use of logical abduction in software engineering. In Handbook of Software Engineering and Knowledge Engineering, S. K. Chang, Ed. World Scientific Publishing, Singapore.
    [55]
    Ryan, M. D. 1993. Defaults in specifications. In Proceedings of the IEEE International Symposium on Requirements Engineering (RE93). 142--149.
    [56]
    Sadri, F. and Kowalski, R. 1986. An application of general theorem proving to database integrity. Tech. rep. Department of Computing, Imperial College, London, U.K.
    [57]
    Schmid, H. 1994. Probabilistic part--of--speech tagging using decision trees. In Proceedings of the Conference on New Methods in Language Processing (Manchester, U.K.). 44--49.
    [58]
    Tsai, J. P., Weigert, T., and jang, H. C. 1992. A hybrid knowledge representation as a basis of requirements specification and specification analysis. IEEE Trans. Softw. Eng. 18, 12, 1076--1100.
    [59]
    Ullman, J. D. 1989. Principles of Database and Knowledge-Base Systems, Vols. I and II. Computer Science Press, Rockville, MD.
    [60]
    van Lamsweerde, A. 2000. Formal specifications: A roadmap. In The Future of Software Engineering. ACM Press, New York, NY, 149--159. (Proceedings of the 22nd IEEE International Conference on Software Engineering.)
    [61]
    Webber, B. L. 1983. So what can we talk about now. In Computational Models of Discourse, M. Brady and B. Berwick, Eds. MIT Press, Cambridge, MA, 331--370.
    [62]
    Zave, P. and Jackson, M. 1997. Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Method. 6, 1, 1--30.
    [63]
    Zowghi, D. 1999. A logic-based framework for the management of changing software requirements. Ph.D. dissertation. Macquarie University, Sydney, Australia.
    [64]
    Zowghi, D. and Gervasi, V. 2004. On the interplay between consistency, completeness, and correctness in requirements evolution. Informat. Softw. Techn. 46, 11 (Sept.), 763--779.
    [65]
    Zowghi, D., Gervasi, V., and McRae, A. 2001. Using default reasoning to discover inconsistencies in natural language requirements. In Proceedings of the 8th Asia-Pacific Software Engineering Conference. 133--140.
    [66]
    Zowghi, D., Ghose, A., and Offen, R. 1997. Computer-assisted requirements evolution tool: Formal foundations and architecture. In Proceedings of the 2nd Australian Workshop on Requirements Engineering (AWRE97, Sydney, Australia). 47--59.
    [67]
    Zowghi, D., Ghose, A., and Peppas, P. 1996. A framework for reasoning about requirements evolution. In Proceedings of the 4th Pacific Rim International Conference on Artificial Intelligence (PRICAI'96). 157--168.
    [68]
    Zowghi, D. and Offen, R. 1997. A logical framework for modelling and reasoning about the evolution of requirements. In Proceedings of the Third IEEE International Symposium on Requirements Engineering (RE97). 247--259.

    Cited By

    View all
    • (2024)Formal Methods in Requirements Engineering: Survey and Future DirectionsProceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1145/3644033.3644373(88-99)Online publication date: 14-Apr-2024
    • (2024)BERDD: A Behaviour Engineering-Based Approach for Requirements Defects DetectionIEEE Access10.1109/ACCESS.2024.336535212(24368-24386)Online publication date: 2024
    • (2024)Automated requirement contradiction detection through formal logic and LLMsAutomated Software Engineering10.1007/s10515-024-00452-x31:2Online publication date: 6-Jun-2024
    • Show More Cited By

    Recommendations

    Reviews

    Gilbert Babin

    A fundamental problem in requirements engineering (RE) is to make the transition from the informal description of requirements on the real-life system to the formal representation of these requirements. Furthermore, even if formalization was easily done, most users find it difficult to understand a formal representation of these requirements. In a very thorough paper, Gervasi and Zowghi propose a pragmatic, yet formal, solution to the problem. They propose the use of propositional logic as the internal representation of the requirements, while using natural language as the external representation. This implies that parsing and unparsing methods are defined to convert natural language phrases into propositional logic, and vice versa. Although the authors only conjecture that the parsing and unparsing methods are correct, they provide a field study (in the appendix) to support this claim. Their use of the belief revision theory enables their system, called CARL, to manage inconsistencies that may appear as new requirements are added. Assertions may be categorized as facts (that always hold), hypotheses (possibly true), and constraints (always false). Inserting a new assertion may force other assertions to become hypotheses, as the new assertion creates inconsistencies. Throughout the paper, they provide very illustrative examples that really help the reader understand the approach. In particular, they provide a complete (yet simple) example using the CARL prototype. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 14, Issue 3
    July 2005
    134 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/1072997
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 July 2005
    Published in TOSEM Volume 14, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Requirements
    2. default logic
    3. inconsistency
    4. natural language

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)63
    • Downloads (Last 6 weeks)5

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Formal Methods in Requirements Engineering: Survey and Future DirectionsProceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1145/3644033.3644373(88-99)Online publication date: 14-Apr-2024
    • (2024)BERDD: A Behaviour Engineering-Based Approach for Requirements Defects DetectionIEEE Access10.1109/ACCESS.2024.336535212(24368-24386)Online publication date: 2024
    • (2024)Automated requirement contradiction detection through formal logic and LLMsAutomated Software Engineering10.1007/s10515-024-00452-x31:2Online publication date: 6-Jun-2024
    • (2024)Systematic adaptation and investigation of the understandability of a formal pattern languageRequirements Engineering10.1007/s00766-024-00417-229:1(3-23)Online publication date: 1-Mar-2024
    • (2023)Goal— oriented conversational bot for employment domainTechnical Sciences10.31648/ts.933326Online publication date: 8-Nov-2023
    • (2023)On-Demand Security Requirements Synthesis with Relational Generative Adversarial NetworksProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00139(1609-1621)Online publication date: 14-May-2023
    • (2023)Detecting Inconsistencies in Software Architecture Documentation Using Traceability Link Recovery2023 IEEE 20th International Conference on Software Architecture (ICSA)10.1109/ICSA56044.2023.00021(141-152)Online publication date: Mar-2023
    • (2023)Towards Controlled Natural Language for Event-Driven Temporal Requirements2023 IEEE 24th International Conference of Young Professionals in Electron Devices and Materials (EDM)10.1109/EDM58354.2023.10225047(1860-1865)Online publication date: 29-Jun-2023
    • (2023)The state-of-practice in requirements specification: an extended interview study at 12 companiesRequirements Engineering10.1007/s00766-023-00399-728:3(377-409)Online publication date: 29-Apr-2023
    • (2022)Reducing Requirements Ambiguity via GamificationComputational Intelligence and Neuroscience10.1155/2022/31834112022Online publication date: 1-Jan-2022
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media