Skip to main content

Playing with Abstraction and Representation

  • Chapter
  • First Online:
Semantics, Logics, and Calculi

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9560))

Abstract

In this paper, we discuss partition refinement as an algorithmic pattern for explicating semantic properties of a system directly in the corresponding model structure in a co-inductive fashion. In particular, we review a landscape of analysis and verification approaches under this unifying perspective, which enables us to highlight their mutual profiles, while it at the same time establishes a basis for their combination: The common pattern establishes comparability, which reveals complementarity, and indicates where and under which circumstances the considered approaches may profit from one another. It can thus be regarded as a guideline for systematically exploring the benefits of the corresponding methods and their combinations.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.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

Similar content being viewed by others

Notes

  1. 1.

    Note that in practice the correctness of the model cannot be guaranteed, as a perfect splitter oracle cannot be implemented but instead needs to be approximated through testing.

  2. 2.

    We assume that the non-determinism is due to presentation only: the conditions guarding the respective transitions are not displayed, since they do not matter for our example.

  3. 3.

    Here and in the following, \(\lambda _{\mathcal {L}}\) and \(\lambda _{\mathcal {H}}\) denote the labeling function of \(\mathcal {L}\) and \(\mathcal {L}(\mathcal {H})\), respectively: \(\lambda _{\mathcal {L}}(w) = 1\) if \(w\in \mathcal {L}\), and 0 otherwise.

  4. 4.

    It should be noted that this approach can only be applied to specifications that admit finite counterexample traces (e.g., safety LTL formulae), as an infinite-length counterexample cannot be tested on the system.

  5. 5.

    Even this is not really necessary. Our also partition refinement-based automated alphabet abstraction technology [24, 25] may be used to automatically derive an adequate level of observation. Of course, for learning realistic system it is important to provide a functioning test harness for triggering the system behavior [35, 52].

References

  1. Aarts, F., Heidarian, F., Kuppens, H., Olsen, P., Vaandrager, F.: Automata learning through counterexample guided abstraction refinement. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 10–27. Springer, Heidelberg (2012). http://dx.doi.org/10.1007/978-3-642-32759-9_4

    Chapter  Google Scholar 

  2. Aarts, F., Vaandrager, F.: Learning I/O automata. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 71–85. Springer, Heidelberg (2010). http://dx.doi.org/10.1007/978-3-642-15375-4_6

    Chapter  Google Scholar 

  3. Ammons, G., Bodik, R., Larus, J.R.: Mining specifications. In: Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 4–16. ACM, Portland (2002). http://research.microsoft.com/apps/pubs/default.aspx?id=71998

  4. Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  5. Berg, T., Grinchtein, O., Jonsson, B., Leucker, M., Raffelt, H., Steffen, B.: On the correspondence between conformance testing and regular inference. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 175–189. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Bertolino, A., Calabrò, A., Merten, M., Steffen, B.: Never-stop learning: continuous validation of learned models for evolving systems through monitoring. ERCIM News 88, 28–29 (2012). http://ercim-news.ercim.eu/en88/special/never-stop-learning-continuous-validation-of-learned-models-for-evolving-systems-through-monitoring

    Google Scholar 

  7. Beyer, D., Löwe, S.: Explicit-state software model checking based on CEGAR and interpolation. In: Cortellessa, V., Varró, D. (eds.) FASE 2013 (ETAPS 2013). LNCS, vol. 7793, pp. 146–162. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  8. Cassel, S., Howar, F., Jonsson, B., Steffen, B.: Learning extended finite state machines. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 250–264. Springer, Heidelberg (2014). http://dx.doi.org/10.1007/978-3-319-10431-7_18

    Google Scholar 

  9. Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003)

    Article  MathSciNet  Google Scholar 

  10. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  11. Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003). citeseer.ist.psu.edu/cobleigh03learning.html

    Chapter  Google Scholar 

  12. Cooper, K.D., Simpson, L.T., Vick, C.A.: Operator strength reduction. ACM Trans. Program. Lang. Syst. 23(5), 603–625 (2001). http://doi.acm.org/10.1145/504709.504710

    Article  Google Scholar 

  13. De Moura, L., Bjørner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69–77 (2011). http://doi.acm.org/10.1145/1995376.1995394

    Article  Google Scholar 

  14. Floyd, R.W.: Assigning meaning to programs. Math. Aspects Comput. Sci. (Proc. Symp. Appl. Math.) 19, 19–32 (1967). American Mathematical Society

    Article  MathSciNet  Google Scholar 

  15. Graf, S., Saïdi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997). http://dl.acm.org/citation.cfm?id=647766.733618

    Chapter  Google Scholar 

  16. Hagerer, A., Hungar, H., Niese, O., Steffen, B.: Model generation by moderated regular extrapolation. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 80–95. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  17. Hagerer, A., Margaria, T., Niese, O., Steffen, B., Brune, G., Ide, H.D.: Efficient regression testing of CTI-systems: testing a complex call-center solution. Annu. Rev. Commun. Int. Eng. Consort. (IEC) 55, 1033–1040 (2001)

    Google Scholar 

  18. Hecht, M.S.: Flow Analysis of Computer Programs. Elsevier Science Inc., New York (1977)

    MATH  Google Scholar 

  19. de la Higuera, C.: Grammatical Inference: Learning Automata and Grammars. Cambridge University Press, New York (2010)

    Google Scholar 

  20. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  21. Hopcroft, J.E.: An N log N algorithm for minimizing states in a finite automaton. Technical report, Stanford University, Stanford, CA (1971)

    Google Scholar 

  22. Howar, F., Isberner, M., Steffen, B., Bauer, O., Jonsson, B.: Inferring semantic interfaces of data structures. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012, Part I. LNCS, vol. 7609, pp. 554–571. Springer, Heidelberg (2012)

    Google Scholar 

  23. Howar, F., Steffen, B., Jonsson, B., Cassel, S.: Inferring canonical register automata. In: Kuncak, V., Rybalchenko, A. (eds.) VMCAI 2012. LNCS, vol. 7148, pp. 251–266. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  24. Howar, F., Steffen, B., Merten, M.: Automata learning with automated alphabet abstraction refinement. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 263–277. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  25. Isberner, M., Howar, F., Steffen, B.: Inferring automata with state-local alphabet abstractions. In: Brat, G., Rungta, N., Venet, A. (eds.) NFM 2013. LNCS, vol. 7871, pp. 124–138. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  26. Isberner, M., Howar, F., Steffen, B.: Learning register automata: from languages to program structures. Mach. Learn. 96(1), 65–98 (2014)

    Google Scholar 

  27. Isberner, M., Howar, F., Steffen, B.: The TTT algorithm: a redundancy-free approach to active automata learning. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 307–322. Springer, Heidelberg (2014). http://dx.doi.org/10.1007/978-3-319-11164-3_26

    Google Scholar 

  28. Kanellakis, P.C., Smolka, S.A.: CCS expressions, finite state processes, and three problems of equivalence. In: Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, PODC 1983, pp. 228–240. ACM, New York (1983). http://doi.acm.org/10.1145/800221.806724

  29. Knoop, J., Rüthing, O., Steffen, B.: Lazy code motion. In: Proceedings of the ACM SIGPLAN 1992 Conference on Programming Language Design and Implementation (PLDI), pp. 224–234. ACM (1992)

    Google Scholar 

  30. Knoop, J., Rüthing, O., Steffen, B.: Lazy strength reduction. J. Program. Lang. 1, 71–91 (1993)

    Google Scholar 

  31. Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination. In: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation (PLDI), pp. 147–158. ACM (1994)

    Google Scholar 

  32. Legay, A., Delahaye, B., Bensalem, S.: Statistical model checking: an overview. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 122–135. Springer, Heidelberg (2010). http://dx.doi.org/10.1007/978-3-642-16612-9_11

    Chapter  Google Scholar 

  33. Maler, O., Mens, I.-E.: Learning regular languages over large alphabets. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014 (ETAPS). LNCS, vol. 8413, pp. 485–499. Springer, Heidelberg (2014). http://dx.doi.org/10.1007/978-3-642-54862-8_41

    Chapter  Google Scholar 

  34. Margaria, T., Steffen, B.: Business Process Modelling in the jABC: The One-Thing-Approach. In: Cardoso, J., van der Aalst, W. (eds.) Handbook of Research on Business Process Modeling. IGI Global, Hershey (2009)

    Google Scholar 

  35. Merten, M., Isberner, M., Howar, F., Steffen, B., Margaria, T.: Automated learning setups in automata learning. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012, Part I. LNCS, vol. 7609, pp. 591–607. Springer, Heidelberg (2012)

    Google Scholar 

  36. Milner, R.: Communication and Concurrency. PHI Series in Computer Science. Prentice-Hall Inc, Upper Saddle River (1989)

    MATH  Google Scholar 

  37. Nerode, A.: Linear automaton transformations. Proc. Am. Math. Soc. 9(4), 541–544 (1958)

    Article  MATH  MathSciNet  Google Scholar 

  38. Neubauer, J., Steffen, B., Bauer, O., Windmüller, S., Merten, M., Margaria, T., Howar, F.: Automated continuous quality assurance. In: Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA), pp. 37–43 (2012). http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6229787

  39. Nielson, F., Nielson, H.R.: Infinitary control flow analysis: a collecting semantics for closure analysis. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1997, pp. 332–345. ACM, New York (1997). http://doi.acm.org/10.1145/263699.263745

  40. Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis, 2nd edn. Springer, Berlin (2005)

    MATH  Google Scholar 

  41. Niese, O.: An integrated approach to testing complex systems, Ph.D. thesis, University of Dortmund, Germany (2003)

    Google Scholar 

  42. Peled, D., Vardi, M.Y., Yannakakis, M.: Black box checking. In: Wu, J., Chanson, S.T., Gao, Q. (eds.) Proceedings of FORTE 1999, pp. 225–240. Kluwer Academic, Dordrecht (1999)

    Google Scholar 

  43. Peled, D., Vardi, M.Y., Yannakakis, M.: Black box checking. J. Autom. Lang. Comb. 7(2), 225–246 (2001). http://dl.acm.org/citation.cfm?id=767345.767349

    MathSciNet  Google Scholar 

  44. Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60(61), 17–139 (2004)

    MathSciNet  Google Scholar 

  45. Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujilol, S., Villela, K.: Software diversity - state of the art and perspectives. Int. J. Softw. Tools Technol. Transf. (STTT) 14(5), 477–495 (2012)

    Article  Google Scholar 

  46. Steffen, B.: Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526. Springer, Heidelberg (1991). http://www.springerlink.com/content/y5p607674g6q1482/

    Chapter  Google Scholar 

  47. Steffen, B.: Property-oriented expansion. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145. Springer, Heidelberg (1996). http://dx.doi.org/10.1007/3-540-61739-6_31

    Chapter  Google Scholar 

  48. Steffen, B.: Unifying models. In: Reischuk, R., Morvan, M. (eds.) STACS 1997. LNCS, vol. 1200. Springer, Heidelberg (1997). http://dx.doi.org/10.1007/BFb0023444

    Chapter  Google Scholar 

  49. Steffen, B., Howar, F., Merten, M.: Introduction to active automata learning from a practical perspective. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 256–296. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  50. Steffen, B., Margaria, T., Nagel, R., Jörges, S., Kubczak, C.: Model-driven development with the jABC. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, pp. 92–108. Springer, Heidelberg (2007). http://dx.doi.org/10.1007/978-3-540-70889-6_7

    Chapter  Google Scholar 

  51. Steffen, B., Rüthing, O.: Quality engineering: leveraging heterogeneous information. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 23–37. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  52. Windmüller, S., Neubauer, J., Steffen, B., Howar, F., Bauer, O.: Active continuous quality control. In: 16th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE ’13, pp. 111–120. ACM SIGSOFT, New York (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Malte Isberner .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Steffen, B., Isberner, M., Jasper, M. (2016). Playing with Abstraction and Representation. In: Probst, C., Hankin, C., Hansen, R. (eds) Semantics, Logics, and Calculi. Lecture Notes in Computer Science(), vol 9560. Springer, Cham. https://doi.org/10.1007/978-3-319-27810-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-27810-0_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-27809-4

  • Online ISBN: 978-3-319-27810-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics