An Abstract Semantics for Inference of Types and Effects in a Multi-Tier Web Language

An Abstract Semantics for Inference of Types and Effects in a Multi-Tier   Web Language
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Types-and-effects are type systems, which allow one to express general semantic properties and to statically reason about program’s execution. They have been widely exploited to specify static analyses, for example to track computational side effects, exceptions and communications in concurrent programs. In this paper we adopt abstract interpretation techniques to reconstruct (following the Cousot’s methodology) a types-and-effects system developed to handle security problems of a multi-tier web language. Our reconstruction allows us to show that this types-and-effects system is not sound with respect to the semantics of the language. In addition, we correct the soundness issues in the analysis and systematically construct a correct analyser.


💡 Research Summary

The paper revisits the type‑and‑effect system originally proposed for the multi‑tier web language LINKS (and its core subset TINY LINKS) and shows that, despite its elegant formulation, the system is not sound with respect to the language’s operational semantics. The authors begin by recalling that type‑and‑effect systems enrich traditional type information with effect annotations (e.g., sets of events that must have occurred) and are widely used for static analyses such as side‑effect tracking, exception handling, and security verification. In the context of LINKS, which automatically partitions client, server, and database code, Baltopoulos and Gordon introduced a security‑oriented type‑and‑effect discipline that enforces “event‑based assertions” to guarantee confidentiality and integrity when data is transferred between tiers.

The paper’s first technical contribution is a concrete denotational semantics for TINY LINKS, modeled as an untyped λ‑calculus enriched with XML values, links (href), forms, and explicit event constructs. Values are interpreted in a domain Eval that includes integers, strings, XML tags, and special constructors for links and forms. Environments map identifiers to values, while an event environment maps predicates to a pair consisting of a value and a status flag (occurred, asserted, etc.). Semantic functions


Comments & Academic Discussion

Loading comments...

Leave a Comment