1 research outputs found

    ReverCSP: Time-Travelling in CSP Computations

    Full text link
    [EN] This paper presents reverCSP, a tool to animate both forward and backward CSP computations. This ability to reverse computations can be done step by step or backtracking to a given desired state of interest. reverCSP allows us to reverse computations exactly in the same order in which they happened, or also in a causally-consistent way. Therefore, reverCSP is a tool that can be especially useful to comprehend, analyze, and debug computations. reverCSP is an open-source project publicly available for the community. We describe the tool and its functionality, and we provide implementation details so that it can be reimplemented for other languages.This work has been partially supported by the EU (FEDER) and the Spanish MCI/AEI under grants TIN2016-76843-C4-1-R and PID2019- 104735RB-C41, and by the Generalitat Valenciana under grant Prometeo/2019/098 (DeepTrust).Galindo-Jiménez, CS.; Nishida, N.; Silva, J.; Tamarit, S. (2020). ReverCSP: Time-Travelling in CSP Computations. Springer. 239-245. https://doi.org/10.1007/978-3-030-52482-1_14S239245Bernadet, A., Lanese, I.: A modular formalization of reversibility for concurrent models and languages. In: Proceedings of ICE 2016, EPTCS (2016)Brown, G., Sabry, A.: Reversible communicating processes. Electron. Proc. Theor. Comput. Sci. 203, 45–59 (2016)Conserva Filhoa, M., Oliveira, M., Sampaio, A., Cavalcanti, A.: Compositional and local livelock analysis for CSP. Inf. Process. Lett 133, 21–25 (2018)Danos, V., Krivine, J.: Reversible communicating systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28644-8_19Elnozahy, E.N.M., Alvisi, L., Wang, Y.-M., Johnson, D.B.: A survey of rollback- recovery protocols in message-passing systems. ACM Comput. Surv. 34(3), 375–408 (2002)Fang, Y., Zhu, H., Zeyda, F., Fei, Y.: Modeling and analysis of the disruptor framework in csp. In: Proceedings of CCWC 2018. IEEE Computer Society (2018)Ladkin, P.B., Simons, B.B.: Static deadlock analysis for CSP-type communications. In: Fussell, D.S., Malek, M. (eds.) Responsive Computer Systems: Steps Toward Fault-Tolerant Real-Time Systems. The Springer International Series in Engineering and Computer Science, vol. 297, pp. 89–102. Springer, Boston (1995). https://doi.org/10.1007/978-1-4615-2271-3_5Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 5, 183–191 (1961)Lanese, I., Antares Mezzina, C., Tiezzi, F.: Causal-consistent reversibility. Bull. EATCS 114, 17 (2014)Lanese, I., Nishida, N., Palacios, A., Vidal, G.: CauDEr: a causal-consistent reversible debugger for erlang. In: Gallagher, J.P., Sulzmann, M. (eds.) FLOPS 2018. LNCS, vol. 10818, pp. 247–263. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-90686-7_16Lanese, I., Palacios, A., Vidal, G.: Causal-consistent replay debugging for message passing programs. In: Pérez, J.A., Yoshida, N. (eds.) FORTE 2019. LNCS, vol. 11535, pp. 167–184. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21759-4_10Llorens, M., Oliver, J., Silva, J., Tamarit, S.: Dynamic slicing of concurrent specification languages. Parallel Comput. 53, 1–22 (2016)Llorens, M., Oliver, J., Silva, J., Tamarit, S.: Tracking CSP computations. J. Log. Algebr. Meth. Program. 102, 138–175 (2019)Perera, R., Garg, D., Cheney, J.: Causally consistent dynamic slicing. In Proceedings of CONCUR 2016, LIPIcs, vol. 59, pp. 18:1–18:15 (2016)Phillips, I., Ulidowski, I., Yuen, S.: A reversible process calculus and the modelling of the ERK signalling pathway. In: Glück, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 218–232. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36315-3_18Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)Zhao, H., Zhu, H., Yucheng, F., Xiao, L.: Modeling and verifying storm using CSP. In: Proceedings of HASE 2019. IEEE Computer Society (2019
    corecore