Skip to main content Accessibility help
×
Home
Hostname: page-component-684bc48f8b-g7stk Total loading time: 2.409 Render date: 2021-04-11T11:21:00.490Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": false, "newCiteModal": false, "newCitedByModal": true }

Abstract interpretation of temporal concurrent constraint programs

Published online by Cambridge University Press:  10 February 2014

MORENO FALASCHI
Affiliation:
Dipartimento di Ingegneria dell'Informazione e Scienze Matematiche Università di Siena, Siena, Italy (e-mail: moreno.falaschi@unisi.it)
CARLOS OLARTE
Affiliation:
Departamento de Electrónica y Ciencias de la Computación Pontificia Universidad Javeriana, Cali, Colombia (e-mail: carlosolarte@javerianacali.edu.co)
CATUSCIA PALAMIDESSI
Affiliation:
INRIA and LIX Ecole Polytechnique, Palaiseau, France (e-mail: catuscia@lix.polytechnique.fr)

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.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below.

References

Armando, A. and Compagna, L. 2008. Sat-based model-checking for security protocols analysis. International Journal of Information Security 7, 1, 332.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2, 87152.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Codish, M., Falaschi, M. and Marriott, K. 1994. Suspension analyses for concurrent logic programs. ACM Transactions on Programming Languages and Systems 16, 3, 649686.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Cousot, P. and Cousot, R. 1992. Abstract interpretation and applications to logic programs. Journal of Logic Programming 13, 2&3, 103179.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
de Boer, F. S., Gabbrielli, M. and Meo, M. C. 2000. A timed concurrent constraint language. Information and Computation 161, 1, 4583.CrossRefGoogle Scholar
de Boer, F. S., Pierro, A. D. and Palamidessi, C. 1995. Nondeterminism and infinite computations in constraint programming. Theoretical Computer Science 151, 1, 3778.CrossRefGoogle Scholar
Dolev, D. and Yao, A. C. 1983. On the security of public key protocols. IEEE Transactions on Information Theory 29, 12, 198208.CrossRefGoogle Scholar
Escobar, S., Meadows, C. and Meseguer, J. 2011. State space reduction in the Maude-nrl protocol analyzer. CoRR abs/1105.5282.Google Scholar
Fages, F., Ruet, P. and Soliman, S. 2001. Linear concurrent constraint programming: Operational and phase semantics. Information and Computation 165, 1, 1441.CrossRefGoogle Scholar
Falaschi, M., Gabbrielli, M., Marriott, K. and Palamidessi, C. 1993. Compositional analysis for concurrent constraint programming. In LICS. IEEE Computer Society, Washington, DC, 210221.Google Scholar
Falaschi, M., Gabbrielli, M., Marriott, K. and Palamidessi, C. 1997a. Confluence in concurrent constraint programming. Theoretical Computer Science 183, 2, 281315.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
Falaschi, M. and Villanueva, A. 2006. Automatic verification of timed concurrent constraint programs. Theory and Practice of Logic Programming 6, 3, 265300.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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: .Google Scholar
Lowe, G. 1996. Breaking and fixing the Needham-Schroeder public-key protocol using fdr. Software – Concepts and Tools 17, 3, 93102.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Milner, R., Parrow, J. and Walker, D. 1992. A calculus of mobile processes, parts I and II. Information and Computation 100, 1, 140.CrossRefGoogle Scholar
Nielsen, M., Palamidessi, C. and Valencia, F. 2002a. Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing 9, 1, 145188.Google Scholar
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.Google Scholar
Olarte, C., Rueda, C. and Valencia, F. D. 2013. Models and emerging trends of concurrent constraint programming. Constraints 18, 4, 535578.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Saraswat, V. A. 1993. Concurrent Constraint Programming. MIT Press, Cambridge, MA.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Sato, T. and Tamaki, H. 1984. Enumeration of success patterns in logic programs. Theoretical Computer Science 34, 227240.CrossRefGoogle Scholar
Shapiro, E. Y. 1989. The family of concurrent logic programming languages. ACM Computing Surveys 21, 3, 413510.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Tini, S. 1999. On the expressiveness of timed concurrent constraint programming. Electronic Notes in Theoretical Computer Science 27, 317.CrossRefGoogle Scholar
Zaffanella, E., Giacobazzi, R. and Levi, G. 1997. Abstracting synchronization in concurrent constraint programming. Journal of Functional and Logic Programming 1997, 6.Google Scholar

Full text views

Full text views reflects PDF downloads, PDFs sent to Google Drive, Dropbox and Kindle and HTML full text views.

Total number of HTML views: 0
Total number of PDF views: 19 *
View data table for this chart

* Views captured on Cambridge Core between September 2016 - 11th April 2021. This data will be updated every 24 hours.

Send article to Kindle

To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Abstract interpretation of temporal concurrent constraint programs
Available formats
×

Send article to Dropbox

To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

Abstract interpretation of temporal concurrent constraint programs
Available formats
×

Send article to Google Drive

To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

Abstract interpretation of temporal concurrent constraint programs
Available formats
×
×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *