Static vs dynamic typing for access control in pi-calculus

  • Authors:
  • Michele Bugliesi;Damiano Macedonio;Sabina Rossi

  • Affiliations:
  • Dipartimento di Informatica, Università Ca' Foscari, Venice;Dipartimento di Informatica, Università Ca' Foscari, Venice;Dipartimento di Informatica, Università Ca' Foscari, Venice

  • Venue:
  • ASIAN'07 Proceedings of the 12th Asian computing science conference on Advances in computer science: computer and network security
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional static typing systems for the pi-calculus are built around capability types that control the read/write access rights on channels and describe the type of the channels' payload. While static typing has proved adequate for reasoning on process behavior in typed contexts, dynamic techniques have often been advocated as more effective for access control in distributed/untyped contexts. We study the relationships between the two approaches - static versus dynamic - by contrasting two versions of the asynchronous pi-calculus. The former, API, comes with an entirely standard static typing system. The latter, API@, combines static and dynamic typing: a static type system associates channels with flat types that only express read/write capabilities and disregard the payload type, while a dynamically typed synchronization complements the static type system to guarantee type soundness. We show that API@can be encoded into API in a fully abstract manner, preserving the respective behavioral equivalences of the two calculi. Besides yielding an interesting expressivity result, the encoding also sheds light on the effectiveness of dynamic typing as a mechanism for access control.