Skip to main content
Log in

Monitoring and diagnosing software requirements

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

We propose a framework adapted from Artificial Intelligence theories of action and diagnosis for monitoring and diagnosing failures of software requirements. Software requirements are specified using goal models where they are associated with preconditions and postconditions. The monitoring component generates log data that contains the truth values of specified pre/post-conditions, as well as system action executions. Such data can be generated at different levels of granularity, depending on diagnostic feedback. The diagnostic component diagnoses the denial of requirements using the log data, and identifies problematic components. To support diagnostic reasoning, we transform the diagnostic problem into a propositional satisfiability (SAT) problem that can be solved by existing SAT solvers. The framework returns sound and complete diagnoses accounting for observed aberrant system behaviors. Our solution is illustrated with two medium-sized publicly available case studies: a Web-based email client and an ATM simulation. Our experimental results demonstrate the scalability of our approach.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Bjork, R.: An example of object-oriented design: an ATM simulation. http://www.cs.gordon.edu/courses/cs211/ATMExample/index.html/ (2007)

  • Castello, R.: Squirrel mail. http://www.squirrelmail.org/ (2007)

  • Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)

    Article  MATH  Google Scholar 

  • Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. J. ACM 5, 394–397 (1962)

    Article  MATH  MathSciNet  Google Scholar 

  • De Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing diagnoses and systems. Artif. Intell. 56(2–3), 197–222 (1992)

    MATH  Google Scholar 

  • Feather, M.S., Fickas, S., Van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: 9th International Workshop on Software Specification and Design (1998)

  • Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Second IEEE International Symposium on Requirements Engineering (1995)

  • Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: Conceptual Modeling, pp. 167–181. Springer, Berlin (2002)

    Google Scholar 

  • Goldberg, E., Novikov, Y.: Berkmin: A fast and robust SAT-solver. In: Design, Automation, and Test in Europe, pp. 142–149 (2002)

  • Iwan, G.: History-based diagnosis templates in the framework of the situation calculus. AI Commun. 15, 31–45 (2002)

    MATH  MathSciNet  Google Scholar 

  • Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. Soc. 36, 41–50 (2003)

    Google Scholar 

  • Kiczales, G., Hilsdale, E., Hugunin, J.K.M., Palm, J., Griswold, W.: An Overview of AspectJ. Springer, Berlin (2001)

    Google Scholar 

  • Lamsweerde, A.V., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng. 26, 978–1005 (2000)

    Article  Google Scholar 

  • Le Berre, D.: A satisfiability library for Java. http://www.sat4j.org/ (2007)

  • McIlraith, S.: Explanatory diagnosis: Conjecturing actions to explain observations. In: Principles of Knowledge Representation and Reasoning, pp. 167–179 (1998)

  • McIlraith, S., Fadel, R.: Planning with complex actions. In: International Workshop on Non-Monotonic Reasoning, pp. 356–364 (2002)

  • Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: Design Automation, pp. 530–535. Assoc. Comput. Mach., New York (2001)

    Google Scholar 

  • Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992)

    Article  Google Scholar 

  • Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  • Reiter, R.: The frame problem in the situation calculus: A simple solution (sometimes) and a completeness result for goal regression. In: Artificial Intelligence and Mathematical Theory of Computation, pp. 359–380 (1991)

  • Robinson, W.N.: Implementing rule-based monitors within a framework for continuous requirements monitoring. In: 38th Annual Hawaii International Conference on System Sciences (2005)

  • Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s Thesis, Simon Fraser University (2004)

  • Sebastiani, R., Giorgini, P., Mylopoulos, J.: Simple and minimum-cost satisfiability for goal models. In: The 16th International Conference on Advanced Information Systems Engineering, vol. 4, pp. 20–33. Springer, Berlin (2004)

    Google Scholar 

  • W3C: Web services (2002)

  • Wang, Y., McIlraith, S., Yu, Y., Mylopoulos, J.: An automated approach to monitoring and diagnosing requirements. In: 22nd IEEE/ACM International Conference on Automated Software Engineering (2007)

  • Winbladh, K., Alspaugh, T.A., Ziv, H., Richardson, D.J.: An automated approach for goal-driven, specification-based testing. In: 21st IEEE/ACM International Conference on Automated Software Engineering (2006)

  • Yu, Y., Wang, Y., Mylopoulos, J., Liaskos, S., Lapouchnian, A., do Prado Leite, J.C.S.: Reverse engineering goal models from legacy code. In: Second IEEE International Symposium on Requirements Engineering, pp. 363–372 (2005)

  • Zhou, X.: A goal-oriented instrumentation approach for monitoring requirements. Master’s Thesis, University of Toronto (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yiqiao Wang.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, Y., McIlraith, S.A., Yu, Y. et al. Monitoring and diagnosing software requirements. Autom Softw Eng 16, 3 (2009). https://doi.org/10.1007/s10515-008-0042-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10515-008-0042-8

Keywords

Navigation