International Workshop on Formal Aspects of Component Software

Formal Aspects of Component Software pp 181-198 | Cite as

k-Bisimulation: A Bisimulation for Measuring the Dissimilarity Between Processes

  • Giuseppe De Ruvo
  • Giuseppe Lettieri
  • Domenico Martino
  • Antonella Santone
  • Gigliola Vaglini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9539)

Abstract

We propose to use bisimulation to quantify dissimilarity between processes: in this case we speak of k-bisimulation. Two processes p and q, whose semantics is given through transition systems, are k-bisimilar if they differ from at most k moves, where k is a natural number. Roughly speaking, the k-bisimulation captures the extension of the dissimilarity between p and q when they are neither strong nor weak equivalent. The importance of the formal concept of k-bisimulation can be seen in several application fields, such as clone detection, process mining, business-IT alignment. We propose several heuristics in order to efficiently check such a bisimulation. The approach can be applied to different specification languages (CCS, LOTOS, CSP) provided that the language semantics is based on the notion of transition system. We have implemented a prototype tool and we have conducted experiments on well-known systems for a proof of concept of our methodology.

References

  1. 1.
    Van der Aalst, W., Weijters, T., Maruster, L.: Workflow mining: discovering process models from event logs. IEEE Trans. Knowl. Data Eng. 16(9), 1128–1142 (2004)CrossRefGoogle Scholar
  2. 2.
    Alkhammash, E., Fathabadi, A.S., Butler, M.J., Cîrstea, C.: Building traceable Event-B models from requirements. ECEASST 66, 1–16 (2013)Google Scholar
  3. 3.
    Bolognesi, T., Brinksma, E.: Introduction to the ISO specification language LOTOS. Comput. Netw. ISDN Syst. 14(1), 25–59 (1987)CrossRefGoogle Scholar
  4. 4.
    Bruns, G.: A case study in safety-critical design. In: von Bochmann, G., Probst, D.K. (eds.) CAV 1992. LNCS, vol. 663, pp. 220–233. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  5. 5.
    Černý, P., Henzinger, T.A., Radhakrishna, A.: Simulation distances. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 253–268. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Chen, X., Deng, Y.: Game characterizations of process equivalences. In: Ramalingam, G. (ed.) APLAS 2008. LNCS, vol. 5356, pp. 107–121. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Cleaveland, R., Sims, S.: The NCSU concurrency workbench. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Conchon, S., Krstic, S.: Strategies for combining decision procedures. Theor. Comput. Sci. 354(2), 187–210 (2006)MATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    Cuomo, A., Santone, A., Villano, U.: CD-Form: a clone detector based on formal methods. Sci. Comput. Program. 95, 390–405 (2014)CrossRefGoogle Scholar
  10. 10.
    De Francesco, N., Santone, A., Tesei, L.: Abstract interpretation and model checking for checking secure information flow in concurrent systems. Fundamenta Informaticae 54(2), 195–211 (2003)MATHMathSciNetGoogle Scholar
  11. 11.
    De Ruvo, G., Santone, A.: Equivalence-based selection of best-fit models to support wiki design. In: Reddy, S. (ed.) WETICE 2015, pp. 204–209. IEEE Press, New York (2015)Google Scholar
  12. 12.
    Delsarte, P., Levenshtein, V.I.: Association schemes and coding theory. IEEE Trans. Inf. Theor. 44(6), 2477–2504 (1998)MATHMathSciNetCrossRefGoogle Scholar
  13. 13.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: a toolbox for the construction and analysis of distributed processes. STTT 15(2), 89–107 (2013)CrossRefGoogle Scholar
  14. 14.
    van Glabbeek, R.J.: The linear time - branching time spectrum. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR ’90 Theories of Concurrency: Unification and Extension. LNCS, vol. 458, pp. 278–297. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  15. 15.
    Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 29(2), 147–160 (1950)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Hoare, C.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)MATHMathSciNetCrossRefGoogle Scholar
  17. 17.
    Jacquart, P.: Nouvelles recherches sur la distribution florale. Bull. Soc. Vand. Sci. Nat. 44, 223–270 (1908)Google Scholar
  18. 18.
    Mazzocca, N., Santone, A., Vaglini, G., Vittorini, V.: Efficient model checking of properties of a distributed application: a multimedia case study. Softw. Test. Verif. Reliab. 12(1), 3–21 (2002)CrossRefGoogle Scholar
  19. 19.
    Milner, R.: Communication and Concurrency. Prentice Hall, London (1989). Prentice Hall International Series in Computer ScienceMATHGoogle Scholar
  20. 20.
    Nguyen, H.N., Poizat, P., Zaïdi, F.: A symbolic framework for the conformance checking of value-passing choreographies. In: Liu, C., Ludwig, H., Toumani, F., Yu, Q. (eds.) Service Oriented Computing. LNCS, vol. 7636, pp. 525–532. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  21. 21.
    Palahan, S., Babic, D., Chaudhuri, S., Kifer, D.: Extraction of statistically significant malware behaviors. In: Paynre Jr., C.N. (ed.) ACSAC 2013, pp. 69–78. ACM, New York (2013)Google Scholar
  22. 22.
    Romero Hernández, D., de Frutos Escrig, D.: Defining distances for all process semantics. In: Giese, H., Rosu, G. (eds.) FORTE 2012 and FMOODS 2012. LNCS, vol. 7273, pp. 169–185. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Romero-Hernández, D., de Frutos Escrig, D.: Coinductive definition of distances between processes: beyond bisimulation distances. In: Ábrahám, E., Palamidessi, C. (eds.) FORTE 2014. LNCS, vol. 8461, pp. 249–265. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  24. 24.
    Roy, C., Cordy, J., Koschke, R.: Comparison and evaluation of code clone detection techniques and tools: a qualitative approach. Sci. Comput. Program. 74(7), 470–495 (2009)MATHMathSciNetCrossRefGoogle Scholar
  25. 25.
    Santone, A., Vaglini, G.: Abstract reduction in directed model checking CCS processes. Acta Informatica 49(5), 313–341 (2012)MATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    Santone, A., Vaglini, G., Villani, M.L.: Incremental construction of systems: an efficient characterization of the lacking sub-system. Sci. Comput. Program. 78(9), 1346–1367 (2013)CrossRefGoogle Scholar
  27. 27.
    Ullah, A., Lai, R.: A systematic review of business and information technology alignment. ACM Trans. Manage. Inf. Syst. 4(1), 1–30 (2013)CrossRefGoogle Scholar
  28. 28.
    Zeng, Z., Tung, A.K.H., Wang, J., Feng, J., Zhou, L.: Comparing stars: on approximating graph edit distance. PVLDB 2(1), 25–36 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Giuseppe De Ruvo
    • 1
  • Giuseppe Lettieri
    • 2
  • Domenico Martino
    • 1
  • Antonella Santone
    • 1
  • Gigliola Vaglini
    • 2
  1. 1.Department of EngineeringUniversity of SannioBeneventoItaly
  2. 2.Department of Information EngineeringUniversity of PisaPisaItaly

Personalised recommendations