skip to main content
article

Reasoning about inconsistencies in natural language requirements

Published: 01 July 2005 Publication History

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)Translation Titans, Reasoning Challenges: Satisfiability-Aided Language Models for Detecting Conflicting RequirementsProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695302(2294-2298)Online publication date: 27-Oct-2024
  • (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)A Scalable Approach to Detecting Safety Requirements Inconsistencies for Railway SystemsIEEE Transactions on Intelligent Transportation Systems10.1109/TITS.2024.341886425:8(8375-8386)Online publication date: 1-Aug-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)58
  • Downloads (Last 6 weeks)8
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

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