Slicing Concurrent Constraint Programs
Concurrent Constraint Programming (CCP) is a declarative model for concurrency where agents interact by telling and asking constraints (pieces of information) in a shared store. Some previous works have developed (approximated) declarative debuggers for CCP languages. However, the task of debugging concurrent programs remains difficult. In this paper we define a dynamic slicer for CCP and we show it to be a useful companion tool for the existing debugging techniques. We start with a partial computation (a trace) that shows the presence of bugs. Often, the quantity of information in such a trace is overwhelming, and the user gets easily lost, since she cannot focus on the sources of the bugs. Our slicer allows for marking part of the state of the computation and assists the user to eliminate most of the redundant information in order to highlight the errors. We show that this technique can be tailored to timed variants of CCP. We also develop a prototypical implementation freely available for making experiments.
KeywordsConcurrent Constraint Programming Program slicing Debugging
We thank the anonymous reviewers for their detailed comments and suggestions which helped us to improve our paper. The work of Olarte was funded by CNPq and CAPES (Brazil). The work of Palamidessi and Olarte was supported by the Regional Program STIC AMSUD “EPIC: EPistemic Interactive Concurrency”.
- 16.de Maria, E., Despeyroux, J., Felty, A.P.: A logical framework for systems biology. In: Fages, F., Piazza, C. (eds.) FMMB 2014. LNCS, vol. 8738, pp. 136–155. Springer, Cham (2014). doi: 10.1007/978-3-319-10398-3_10
- 17.Nielsen, M., Palamidessi, C., Valencia, F.D.: On the expressive power of temporal concurrent constraint programming languages. In: Proceedings of PPDP 2002, pp. 156–167. ACM (2002)Google Scholar
- 21.Olarte, C., Rueda, C., Sarria, G., Toro, M., Valencia, F.D.: Concurrent constraints models of music interaction. In: Assayag, G., Truchet, C. (eds.) Constraint Programming in Music, pp. 133–153. Wiley, Hoboken (2011)Google Scholar
- 23.Olarte, C., Valencia, F.D.: Universal concurrent constraint programing: symbolic semantics and applications to security. In: Wainwright, R.L., Haddad, H. (eds.) SAC, pp. 145–150. ACM (2008)Google Scholar
- 26.Saraswat, V.A., Rinard, M.C., Panangaden, P.: Semantic foundations of concurrent constraint programming. In: Wise, D.S. (ed.) POPL, pp. 333–352. ACM Press (1991)Google Scholar