Abstract
We introduce a CEGAR-based compositional verification technique for verifying response guarantees and finding the necessary assumptions of the response specification about event detectors in hierarchical event-based systems. By taking advantage of the structure of such systems, only the relevant event specifications are considered, and from these only a part of their specifications is learnt as response assumptions. Whenever a spurious counterexample is found (i.e., the abstract counterexample to a response guarantee property is not consistent with the event specifications), our technique modularly finds the necessary refinements that induce state splitting and add fairness constraints to avoid the counterexample automatically. Eventually, either the response guarantee is proved or a real counterexample is found. In addition, new techniques are presented for more feasible spuriousness checking of counterexamples of liveness response guarantees, and to avoid including unnecessary parts of the event detector alphabet in the model of a response.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
NuSMV. http://nusmv.fbk.eu/
SMT. http://ultimate.informatik.uni-freiburg.de/smtinterpol/
Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., De Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. ACM SIGPLAN Not. 40, 345–364 (2005)
Alpern, B., Schneider, F.B.: Recognizing safety and liveness. Distrib. Comput. 2(3), 117–126 (1987)
Ball, T., Rajamani, S.K.: Automatically validating temporal safety properties of interfaces. In: Dwyer, M. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 102–122. Springer, Heidelberg (2001). doi:10.1007/3-540-45139-0_7
Barrett, C., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2010). www.SMT-LIB.org
Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. Electron. Notes Theoret. Comput. Sci. 66, 160–177 (2002)
Bockisch, C., Malakuti, S., Akşit, M., Katz, S.: Making aspects natural: events and composition. In: AOSD 2011. ACM (2011)
Chaki, S., Clarke, E., Groce, A., Ouaknine, J., Strichman, O., Yorav, K.: Efficient verification of sequential and concurrent C programs. Formal Meth. Syst. Des. 25, 129–166 (2004)
Chucri, F.: Exploiting model structure in CEGAR verification method. Ph.D. thesis, University of Bordeaux I (2012)
Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000). doi:10.1007/10722167_15
Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: SATABS: SAT-based predicate abstraction for ANSI-C. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 570–574. Springer, Heidelberg (2005). doi:10.1007/978-3-540-31980-1_40
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)
Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: FLAVERS: a finite state verification technique for software systems. IBM Syst. J. 41, 140–165 (2002)
Cook, B., Gotsman, A., Podelski, A., Rybalchenko, A., Vardi, M.Y.: Proving that programs eventually do something good. ACM SIGPLAN Not. 42, 265–276 (2007)
Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Zheng, H.: Bandera: Extracting finite-state models from java source code. In: ICSE 2000 (2000)
Disenfeld, C., Katz, S.: Compositional verification of events and observers (summary). In: FOAL 2011. ACM (2011)
Disenfeld, C., Katz, S.: Specification and verification of event detectors and responses. In: AOSD 2013. ACM (2013)
Douence, R., Fradet, P., Südholt, M., et al.: Trace-based aspects. Aspect-Oriented Software Development (2004)
Douence, R., Südholt, M.: A model and a tool for event-based aspect-oriented programming (EAOP). Techn. Ber., Ecole des Mines de Nantes. TR, vol. 2(11) (2002)
Etzion, O., Niblett, P.: Event Processing in Action, 1st edn. Manning Publications Co., Greenwich (2010)
Gasiunas, V., Satabin, L., Mezini, M., Núñez, A., Noyé, J.: Escala: modular event-driven object interactions in scala. In: Proceedings of the Tenth International Conference On Aspect-Oriented Software Development. ACM (2011)
Bobaru, M.G., Păsăreanu, C.S., Giannakopoulou, D.: Automated assume-guarantee reasoning by abstraction refinement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 135–148. Springer, Heidelberg (2008). doi:10.1007/978-3-540-70545-1_14
Goldman, M., Katz, E., Katz, S.: MAVEN: modular aspect verification and interference analysis. Formal Meth. Syst. Des. 37, 61–92 (2010)
Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems, pp. 477–498. Springer, New York (1985)
Henzinger, T.A., Jhala, R., Majumdar, R., Qadeer, S.: Thread-modular abstraction refinement. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 262–274. Springer, Heidelberg (2003). doi:10.1007/978-3-540-45069-6_27
Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: POPL 2002. ACM (2002)
Kamina, T., Aotani, T., Masuhara, H.: EventCJ: a context-oriented programming language with declarative event-based context transition. In: Proceedings of the Tenth International Conference On Aspect-Oriented Software Development
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectj. In: ECOOP (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi:10.1007/BFb0053381
Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis management systems: a case study for aspect-oriented modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. LNCS, vol. 6210, pp. 1–22. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16086-8_1
Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co. Inc., Boston (2001)
Masuhara, H., Endoh, Y., Yonezawa, A.: A fine-grained join point model for more reusable aspects. In: Kobayashi, N. (ed.) APLAS 2006. LNCS, vol. 4279, pp. 131–147. Springer, Heidelberg (2006). doi:10.1007/11924661_8
Rajan, H., Leavens, G.T.: Ptolemy: a language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008). doi:10.1007/978-3-540-70592-5_8
Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Disenfeld, C., Katz, S. (2016). Developing and Verifying Response Specifications in Hierarchical Event-Based Systems. In: Chiba, S., Südholt, M., Eugster, P., Ziarek, L., Leavens, G. (eds) Transactions on Modularity and Composition I. Lecture Notes in Computer Science(), vol 9800. Springer, Cham. https://doi.org/10.1007/978-3-319-46969-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-46969-0_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-46968-3
Online ISBN: 978-3-319-46969-0
eBook Packages: Computer ScienceComputer Science (R0)