Verifying Software Requirements Based on Answer Set Programming

  • Authors:
  • Kedian Mu;Qi Zhang;Zhi Jin

  • Affiliations:
  • School of Mathematical Sciences, Peking University, Beijing, P.R. China 100871;School of Mathematical Sciences, Peking University, Beijing, P.R. China 100871 and Microsoft Server and Tools Business China, Shanghai, P.R. China 200241;Key Laboratory of High Confidence Software Technologies, Ministry of Education, School of Electronics Engineering and Computer Science, Peking University, Beijing, P.R. China 100871

  • Venue:
  • KSEM '09 Proceedings of the 3rd International Conference on Knowledge Science, Engineering and Management
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.