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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.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)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. J. ACM 5, 394–397 (1962)
De Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing diagnoses and systems. Artif. Intell. 56(2–3), 197–222 (1992)
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)
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)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. Soc. 36, 41–50 (2003)
Kiczales, G., Hilsdale, E., Hugunin, J.K.M., Palm, J., Griswold, W.: An Overview of AspectJ. Springer, Berlin (2001)
Lamsweerde, A.V., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng. 26, 978–1005 (2000)
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)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992)
Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-008-0042-8