Skip to main content
×
×
Home

Abstract interpretation of temporal concurrent constraint programs

  • MORENO FALASCHI (a1), CARLOS OLARTE (a2) and CATUSCIA PALAMIDESSI (a3)
Abstract

Timed Concurrent Constraint Programming (tcc) is a declarative model for concurrency offering a logic for specifying reactive systems, i.e., systems that continuously interact with the environment. The universal tcc formalism (utcc) is an extension of tcc with the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. In this paper we consider the denotational semantics for tcc, and extend it to a “collecting” semantics for utcc based on closure operators over sequences of constraints. Relying on this semantics, we formalize a general framework for data flow analyses of tcc and utcc programs by abstract interpretation techniques. The concrete and abstract semantics that we propose are compositional, thus allowing us to reduce the complexity of data flow analyses. We show that our method is sound and parametric with respect to the abstract domain. Thus, different analyses can be performed by instantiating the framework. We illustrate how it is possible to reuse abstract domains previously defined for logic programming to perform, for instance, a groundness analysis for tcc programs. We show the applicability of this analysis in the context of reactive systems. Furthermore, we also make use of the abstract semantics to exhibit a secrecy flaw in a security protocol. We also show how it is possible to make an analysis which may show that tcc programs are suspension-free. This can be useful for several purposes, such as for optimizing compilation or for debugging.

Copyright
References
Hide All
Armando, A. and Compagna, L. 2008. Sat-based model-checking for security protocols analysis. International Journal of Information Security 7, 1, 332.
Armstrong, T., Marriott, K., Schachte, P. and Søndergaard, H. 1998. Two classes of Boolean functions for dependency analysis. Science of Computer Programming 31, 1, 345.
Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2, 87152.
Bodei, C., Brodo, L., Degano, P. and Gao, H. 2010. Detecting and preventing type flaws at static time. Journal of Computer Security 18, 2, 229264.
Boreale, M. 2001. Symbolic trace analysis of cryptographic protocols. In International Colloquium on Automata, Languages and Programming (ICALP), Orejas, F., Spirakis, P. G. and van Leeuwen, J., Eds., LNCS, vol. 2076. Springer, Berlin, Germany, 667681.
Codish, M. and Demoen, B. 1994. Deriving polymorphic type dependencies for logic programs using multiple incarnations of prop. In First International Static Analysis Symposium (SAS '94), Charlier, B. L., Ed., LNCS, vol. 864. Springer, Berlin, Germany, 281296.
Codish, M., Falaschi, M. and Marriott, K. 1994. Suspension analyses for concurrent logic programs. ACM Transactions on Programming Languages and Systems 16, 3, 649686.
Codish, M., Falaschi, M., Marriott, K. and Winsborough, W. 1997. A confluent semantic basis for the analysis of concurrent constraint logic programs. Journal of Logic Programming 30, 1, 5381.
Codish, M., Søndergaard, H. and Stuckey, P. 1999. Sharing and groundness dependencies in logic programs. ACM Transations on Programming Languages and Systems 21, 5, 948976.
Comini, M., Titolo, L. and Villanueva, A. 2011. Abstract diagnosis for timed concurrent constraint programs. Theory and Practice of Logic Programming 11, 4–5, 487502.
Cousot, P. and Cousot, R. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming (POPL), Aho, A. V., Zilles, S. N. and Rosen, B. K., Eds. ACM Press, New York, NY, 269282.
Cousot, P. and Cousot, R. 1992. Abstract interpretation and applications to logic programs. Journal of Logic Programming 13, 2&3, 103179.
de Boer, F. S., Gabbrielli, M., Marchiori, E. and Palamidessi, C. 1997. Proving concurrent constraint programs correct. ACM Transactions on Programming Languages and Systems 19, 5, 685725.
de Boer, F. S., Gabbrielli, M. and Meo, M. C. 2000. A timed concurrent constraint language. Information and Computation 161, 1, 4583.
de Boer, F. S., Pierro, A. D. and Palamidessi, C. 1995. Nondeterminism and infinite computations in constraint programming. Theoretical Computer Science 151, 1, 3778.
Dolev, D. and Yao, A. C. 1983. On the security of public key protocols. IEEE Transactions on Information Theory 29, 12, 198208.
Escobar, S., Meadows, C. and Meseguer, J. 2011. State space reduction in the Maude-nrl protocol analyzer. CoRR abs/1105.5282.
Fages, F., Ruet, P. and Soliman, S. 2001. Linear concurrent constraint programming: Operational and phase semantics. Information and Computation 165, 1, 1441.
Falaschi, M., Gabbrielli, M., Marriott, K. and Palamidessi, C. 1993. Compositional analysis for concurrent constraint programming. In LICS. IEEE Computer Society, Washington, DC, 210221.
Falaschi, M., Gabbrielli, M., Marriott, K. and Palamidessi, C. 1997a. Confluence in concurrent constraint programming. Theoretical Computer Science 183, 2, 281315.
Falaschi, M., Gabbrielli, M., Marriott, K. and Palamidessi, C. 1997b. Constraint logic programming with dynamic scheduling: A semantics based on closure operators. Information and Computation 137, 1, 4167.
Falaschi, M., Olarte, C. and Palamidessi, C. 2009. A framework for abstract interpretation of timed concurrent constraint programs. In 11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP), Porto, A. and López-Fraguas, F. J., Eds. ACM, New York, NY, 207218.
Falaschi, M., Olarte, C., Palamidessi, C. and Valencia, F. 2007. Declarative diagnosis of temporal concurrent constraint programs. In 23rd International Conference on Logic Programming (ICLP), Dahl, V. and Niemelä, I., Eds. LNCS, vol. 4670. Springer, New York, NY, 271285.
Falaschi, M. and Villanueva, A. 2006. Automatic verification of timed concurrent constraint programs. Theory and Practice of Logic Programming 6, 3, 265300.
Fiore, M. P. and Abadi, M. 2001. Computing symbolic models for verifying cryptographic protocols. In 14th IEEE Computer Security Foundations Workshop (CSFW-14). IEEE Computer Society, Washington, DC, 160173.
Giacobazzi, R., Debray, S. K. and Levi, G. 1995. Generalized semantics and abstract interpretation for constraint logic programs. Journal of Logic Programming 25, 3, 191247.
Haemmerlé, R., Fages, F. and Soliman, S. 2007. Closures and modules within linear logic concurrent constraint programming. In Proceedings of the Foundations of Software Technology and Theoretical Computer Science (FSTTCS), Arvind, V. and Prasad, S., Eds. LNCS, vol. 4855. Springer, New York, NY, 544556.
Hentenryck, P. V., Saraswat, V. A. and Deville, Y. 1998. Design, implementation, and evaluation of the constraint language cc (fd). Journal of Logic Programming 37, 1–3, 139164.
Hildebrandt, T. and López, H. A. 2009. Types for secure pattern matching with local knowledge in universal concurrent constraint programming. In International Conference on Logic Programming (ICLP), Hill, P. M. and Warren, D. S., Eds. LNCS, vol. 5649. Springer, New York, NY, 417431.
Jaffar, J. and Lassez, J.-L. 1987. Constraint logic programming. In Fourteenth Annual ACM Symposium on Principles of Programming Languages (POPL), Munich, Germany. ACM Press, New York, NY, 111119.
Jagadeesan, R., Marrero, W., Pitcher, C. and Saraswat, V. A. 2005. Timed constraint programming: A declarative approach to usage control. In Proceedings of Principles and Practice of Declarative Programming (PPDP), Portugal, Lisbon, Barahona, P. and Felty, A. P., Eds. ACM, New York, NY, 164175.
López, H. A., Olarte, C. and Pérez, J. A. 2009. Towards a unified framework for declarative structured communications. In Proceedings of the Second International Workshop on PLACES, Beresford, A. R. and Gay, S. J., Eds. EPTCS, vol. 17. 115. ISSN: .
Lowe, G. 1996. Breaking and fixing the Needham-Schroeder public-key protocol using fdr. Software – Concepts and Tools 17, 3, 93102.
Maher, M. J. 1988. Complete axiomatizations of the algebras of finite, rational and infinite trees. In Proceedings of the Third Annual Symposium on Logic in Computer Science (LICS '88). IEEE Computer Society, Washington, DC, 348357.
Mendler, N. P., Panangaden, P., Scott, P. J. and Seely, R. A. G. 1995. A logical view of concurrent constraint programming. Nordic Journal of Computing 2, 2, 181220.
Milner, R., Parrow, J. and Walker, D. 1992. A calculus of mobile processes, parts I and II. Information and Computation 100, 1, 140.
Nielsen, M., Palamidessi, C. and Valencia, F. 2002a. Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing 9, 1, 145188.
Nielsen, M., Palamidessi, C. and Valencia, F. D. 2002b. On the expressive power of temporal concurrent constraint programming languages. In Proceedings of the 4th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP), Pittsburgh, PA. ACM, New York, NY, 156167.
Olarte, C., Rueda, C. and Valencia, F. D. 2013. Models and emerging trends of concurrent constraint programming. Constraints 18, 4, 535578.
Olarte, C. and Valencia, F. D. 2008a. The expressivity of universal timed CCP: Undecidability of monadic FLTL and closure operators for security. In Proceedings of the 10th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP), Antoy, S. and Albert, E., Eds. ACM, New York, NY, 819.
Olarte, C. and Valencia, F. D. 2008b. Universal concurrent constraint programing: symbolic semantics and applications to security. In Proceedings of the 2008 ACM Symposium on Applied Computing (SAC), Wainwright, R. L. and Haddad, H., Eds. ACM, New York, NY, 145150.
Saraswat, V. A. 1993. Concurrent Constraint Programming. MIT Press, Cambridge, MA.
Saraswat, V. A., Jagadeesan, R. and Gupta, V. 1994. Foundations of timed concurrent constraint programming. In Proceedings of the IEEE Symposium on Logic in Computer Science (LICS '94). IEEE Computer Society, Washington, DC, 7180.
Saraswat, V. A., Rinard, M. C. and Panangaden, P. 1991. Semantic foundations of concurrent constraint programming. In Proceedings of the Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages (POPL), Orlando, FL, Wise, D. S., Ed. ACM Press, New York, NY, 333352.
Sato, T. and Tamaki, H. 1984. Enumeration of success patterns in logic programs. Theoretical Computer Science 34, 227240.
Shapiro, E. Y. 1989. The family of concurrent logic programming languages. ACM Computing Surveys 21, 3, 413510.
Smolka, G. 1994. A foundation for higher-order concurrent constraint programming. In Proceedongs of the First International Conference on Constraints in Computational Logics (CCL '94), Jouannaud, J.-P., Ed. LNCS, vol. 845. Springer, Berlin, Germany, 5072.
Song, D. X., Berezin, S. and Perrig, A. 2001. Athena: A novel approach to efficient automatic security protocol analysis. Journal of Computer Security 9, 1–2, 4774.
Tini, S. 1999. On the expressiveness of timed concurrent constraint programming. Electronic Notes in Theoretical Computer Science 27, 317.
Zaffanella, E., Giacobazzi, R. and Levi, G. 1997. Abstracting synchronization in concurrent constraint programming. Journal of Functional and Logic Programming 1997, 6.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Keywords

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed