Skip to main content

Verifying Software Requirements Based on Answer Set Programming

  • Conference paper
Book cover Knowledge Science, Engineering and Management (KSEM 2009)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 5914))

Abstract

It is widely recognized that most software project failures result from problems about software requirements. Early verification of requirements can facilitate many problems associated with the software developments. The requirements testing is useful to clarify problematical information during the requirements stage. However, for any complex and sizeable system, the development of requirements typically involves different stakeholders with different concerns. Then the requirements specifications are increasingly developed in a distributed fashion. This makes requirements testing rather difficult. The main contribution of this paper is to present an answer set programming-based logical approach to testing requirements specifications. Informally, for an individual requirements test case, we consider the computation of the output of the system-to-be in requirements testing as a problem of answer set programming. In particular, the expected responses of the requirements test case is viewed as an intended solution to this problem. Based on the requirements and the input of the requirements test case, we design a logic program whose answer sets correspond to solutions of the problem. Then the testing is performed by an answer set solver. Finally, we identify the disagreement between the answer sets and the intended solution to detect the defects in software requirements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Davis, M.: Software Requirements: Objects, Functions, and States. Prentice Hall, Englewood Cliffs (1993)

    MATH  Google Scholar 

  2. Leffingwell, D.: Calculating the return on investment from more effective requirements management. American Programmer 10, 13–16 (1997)

    Google Scholar 

  3. CHAOS: Software Development Report by the Standish Group (1995), http://www.standishgroup.com/chaos.html

  4. Ibanez, M.: European user survey analysis. Tech. rep. ESI report TR95104. European Software Institute, Zamudio, Spain (1996), www.esi.es

  5. Davis, A., Jordan, K., Nakajima, T.: Elements underlying the specification of requirements. Ann. Softw. Eng. 3, 63–100 (1997)

    Article  Google Scholar 

  6. Leffingwell, D., Widrig, D.: Managing Software Requirements: A Use Case Approach. Addison-Wesley, Boston (2003)

    Google Scholar 

  7. Wiegers, K.: Software Requirements, 2nd edn. Microsoft Press, Redmond (2003)

    Google Scholar 

  8. Beizer, B.: Software Testing Techniques, 2nd edn. Van Nostrand Reinhold, New York (1990)

    Google Scholar 

  9. Ambler, S.: Reduce development costs with use-case scenario testing. Software Development 3, 52–61 (1995)

    Google Scholar 

  10. Collard, R.: Test design. Software Testing and Quality Engineering 1, 30–37 (1999)

    Google Scholar 

  11. Hsia, P., Kung, D., Sell, C.: Software requirements and acceptance testing. Annals of software Engineering 3, 291–317 (1997)

    Article  Google Scholar 

  12. Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Transaction on Software Engineering and Methodologies 14, 277–330 (2005)

    Article  Google Scholar 

  13. Lifschitz, V.: Answer set planning. In: International Conference on Logic Programming, pp. 23–37. Massachusetts Institute of Technology (1999)

    Google Scholar 

  14. Niemela, I.: Logic programs with stable model semantics as a constraint programming paradigm. Annals of Mathematics and Artificial Intelligence 25, 72–79 (1998)

    MathSciNet  Google Scholar 

  15. Marek, W., Truszczynski, M.: Stable models and an alternative logic programming paradigm. In: The Logic Programming Paradigm: a 25-Year Perspective, pp. 375–398. Springer, Heidelberg (1999)

    Google Scholar 

  16. Mu, K., Jin, Z., Lu, R.: Inconsistency-based strategy for clarifying vague software requirements. In: Zhang, S., Jarvis, R.A. (eds.) AI 2005. LNCS (LNAI), vol. 3809, pp. 39–48. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Niemela, I., Simons, P., Syrjanen, T.: Smodels: A system for answer set programming. CoRR cs.AI/0003033 (2000)

    Google Scholar 

  18. Leone, N., Pfeifer, G.: The dlv system for knowledge representation and reasoning. ACM Transactions on Computational Logic 7, 499–562 (2006)

    Article  MathSciNet  Google Scholar 

  19. Lin, F., Zhao, Y.: Assat: Computing answer sets of a logic program by sat solver. Artificial Intelligence 157, 115–137 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  20. Lifschitz, V.: Foundations of logic programming. In: Principles of Knowledge Representation, pp. 69–127. CSLI Publications, Stanford (1996)

    Google Scholar 

  21. Mu, K., Jin, Z., Lu, R., Peng, Y.: Handling non-canonical software requirements based on annotated predicate calculus. Knowledge and Information Systems 11, 85–104 (2007)

    Article  Google Scholar 

  22. Spanoudakis, G., Finkelstein, A.: Reconciling requirements: a method for managing interference, inconsistency and conflict. Annals of Software Engineering 3, 433–457 (1997)

    Article  Google Scholar 

  23. Spanoudakis, G., Zisman, A.: Inconsistency management in software engineering: Survey and open research issues. In: Chang, S.K. (ed.) Handbook of Software Engineering and Knowledge Engineering, pp. 329–380. World Scientific Publishing Co., Singapore (2001)

    Google Scholar 

  24. Hunter, A., Nuseibeh, B.: Managing inconsistent specification. ACM Transactions on Software Engineering and Methodology 7, 335–367 (1998)

    Article  Google Scholar 

  25. Easterbrook, S., Chechik, M.: A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of International Conference on Software Engineering (ICSE 2001), Toronto, Canada, pp. 411–420 (2001)

    Google Scholar 

  26. Chechik, M., Devereux, B., Easterbrook, S.: Efficient multiple-valued model-checking using lattice representations. In: Proceedings of the International Conference on Concurrency Theory, Aalborg, Denmark, pp. 21–24 (2001)

    Google Scholar 

  27. Zowghi, D., Gervasi, V.: On the interplay between consistency, completeness, and correctness in requirements evolution. Information and Software Technology 45, 993–1009 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mu, K., Zhang, Q., Jin, Z. (2009). Verifying Software Requirements Based on Answer Set Programming. In: Karagiannis, D., Jin, Z. (eds) Knowledge Science, Engineering and Management. KSEM 2009. Lecture Notes in Computer Science(), vol 5914. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10488-6_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10488-6_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10487-9

  • Online ISBN: 978-3-642-10488-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics