Paola Giannini

dblp:18/3340 · DBLP profile ↗
← Back
45ranked-venue papers
13as first author
15since 2021 · last 2026
0000-0003-2239-9529ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 23 · 7 first-author · 10 since 2021Theory of computation · 21 · 6 first-author · 4 since 2021
YearPublicationVenuePosition
2026 Don't exhaust, don't waste: Resource-aware soundness for big-step semantics
Riccardo Bianchini 0001, Francesco Dagnino, Paola Giannini, Elena Zucca
J. Funct. Program.3
2025 Fair Termination for Resource-Aware Active Objects
Francesco Dagnino, Paola Giannini, Violet Ka I Pun, Ulises Torrella
APLAS2
2025 Monadic Type-And-Effect Soundness
abstract
We introduce the abstract notions of monadic operational semantics, a small-step semantics where computational effects are modularly modeled by a monad, and type-and-effect system, including effect types whose interpretation lifts well-typedness to its monadic version. In this meta-theory, as usual in the non-monadic case, we can express progress and subject reduction, and provide a proof, given once and for all, that they imply soundness. The approach is illustrated on a lambda calculus with generic effects, equipped with an expressive type-and-effect system We provide proofs of progress and subject reduction, parametric on the interpretation of effect types. In this way, we obtain as instances many significant examples, such as checking exceptions, preventing/limiting non-determinism, constraining order/fairness of outputs. We also provide an extension with constructs to raise and handle computational effects, which can be instantiated to model different policies.
Francesco Dagnino, Paola Giannini, Elena Zucca
ECOOP2
2025 An Effectful Object Calculus
Francesco Dagnino, Paola Giannini, Elena Zucca
ECOOP2
2025 Unsolvable Terms in Filter Models (Invited Talk)
abstract
Intersection type theories (itt’s) and filter models, i.e. λ-calculus models generated by itt’s, are reviewed in full generality. In this framework, which subsumes most λ-calculus models in the literature based on Scott-continuous functions, we discuss the interpretation of unsolvable terms. We give a necessary, but not sufficient, condition on an itt for the interpretation of some unsolvable term to be non-trivial in the filter model it generates. This result is obtained building on a type theoretic characterisation of the fine structure of unsolvables.
Mariangiola Dezani-Ciancaglini, Paola Giannini, Furio Honsell
FSCD2
2024 Coeffects for MiniJava: Cf-Mj
abstract
We propose an imperative Java-like calculus where declared variables can be annotated by coeffects specifying constraints on their use, e.g., affinity or privacy levels. Coeffects are heterogeneous, in the sense that different kinds of coeffects can be used in the same program. This paper extends previous work by the authors in which a functional core of a Java-like calculus was considered. Java annotations are used to identify classes implementing coeffects and coeffects decorating variable declarations. Moreover, a prototype implementation of the type and coeffect checker is given.
Paola Giannini, Giulio Duso
FTfJP@ECOOP1
2024 Global Types and Event Structure Semantics for Asynchronous Multiparty Sessions
abstract
We propose an interpretation of multiparty sessions with asynchronous communication as Flow Event Structures. We introduce a new notion of asynchronous type for such sessions, ensuring the expected properties for multiparty sessions, including progress. Our asynchronous types, which reflect asynchrony more directly and more precisely than standard global types and are more permissive, are themselves interpreted as Prime Event Structures. The main result is that the Event Structure interpretation of a session is equivalent, when the session is typable, to the Event Structure interpretation of its asynchronous type, namely their domains of configurations are isomorphic.
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini
Fundam. Informaticae3
2023 Multi-Graded Featherweight Java
abstract
Resource-aware type systems statically approximate not only the expected result type of a program, but also the way external resources are used, e.g., how many times the value of a variable is needed. We extend the type system of Featherweight Java to be resource-aware, parametrically on an arbitrary grade algebra modeling a specific usage of resources. We prove that this type system is sound with respect to a resource-aware version of reduction, that is, a well-typed program has a reduction sequence which does not get stuck due to resource consumption. Moreover, we show that the available grades can be heterogeneous, that is, obtained by combining grades of different kinds, via a minimal collection of homomorphisms from one kind to another. Finally, we show how grade algebras and homomorphisms can be specified as Java classes, so that grade annotations in types can be written in the language itself.
Riccardo Bianchini 0001, Francesco Dagnino, Paola Giannini, Elena Zucca
ECOOP3
2023 Event structure semantics for multiparty sessions
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini
J. Log. Algebraic Methods Program.3
2023 Deconfined Global Types for Asynchronous Sessions
abstract
Multiparty sessions with asynchronous communications and global types play an important role for the modelling of interaction protocols in distributed systems. In designing such calculi the aim is to enforce, by typing, good properties for all participants, maximising, at the same time, the accepted behaviours. Our type system improves the state-of-the-art by typing all asynchronous sessions and preserving the key properties of Subject Reduction, Session Fidelity and Progress when some well-formedness conditions are satisfied. The type system comes together with a sound and complete type inference algorithm. The well-formedness conditions are undecidable, but an algorithm checking an expressive restriction of them recovers the effectiveness of typing.
Francesco Dagnino, Paola Giannini, Mariangiola Dezani-Ciancaglini
Log. Methods Comput. Sci.2
2023 Resource-Aware Soundness for Big-Step Semantics
abstract
We extend the semantics and type system of a lambda calculus equipped with common constructs to be resource-aware . That is, reduction is instrumented to keep track of the usage of resources, and the type system guarantees, besides standard soundness, that for well-typed programs there is a computation where no needed resource gets exhausted. The resource-aware extension is parametric on an arbitrary grade algebra , and does not require ad-hoc changes to the underlying language. To this end, the semantics needs to be formalized in big-step style; as a consequence, expressing and proving (resource-aware) soundness is challenging, and is achieved by applying recent techniques based on coinductive reasoning.
Riccardo Bianchini 0001, Francesco Dagnino, Paola Giannini, Elena Zucca
Proc. ACM Program. Lang.3
2023 A Java-like calculus with heterogeneous coeffects
abstract
We propose a Java-like calculus where declared variables can be annotated by coeffects specifying constraints on their use, e.g., affinity or privacy levels. Such coeffects are heterogeneous, in the sense that different kinds of coeffects can be used in the same program; combining coeffects of different kinds leads to the trivial coeffect. We prove subject reduction, which includes preservation of coeffects, and show several examples. In a Java-like language, coeffects can be expressed in the language itself, as expressions of user-defined classes.
Riccardo Bianchini 0001, Francesco Dagnino, Paola Giannini, Elena Zucca
Theor. Comput. Sci.3
2022 Multiparty-session-types Coordination for Core Erlang
Lavinia Egidi, Paola Giannini, Lorenzo Ventura
ICSOFT2
2022 Coeffects for sharing and mutation
abstract
In type-and-coeffect systems , contexts are enriched by coeffects modeling how they are actually used, typically through annotations on single variables. Coeffects are computed bottom-up, combining, for each term, the coeffects of its subterms, through a fixed set of algebraic operators. We show that this principled approach can be adopted to track sharing in the imperative paradigm, that is, links among variables possibly introduced by the execution. This provides a significant example of non-structural coeffects, which cannot be computed by-variable, since the way a given variable is used can affect the coeffects of other variables. To illustrate the effectiveness of the approach, we enhance the type system tracking sharing to model a sophisticated set of features related to uniqueness and immutability. Thanks to the coeffect-based approach, we can express such features in a simple way and prove related properties with standard techniques.
Riccardo Bianchini 0001, Francesco Dagnino, Paola Giannini, Elena Zucca, Marco Servetto
Proc. ACM Program. Lang.3
2021 Deconfined Global Types for Asynchronous Sessions
Francesco Dagnino, Paola Giannini, Mariangiola Dezani-Ciancaglini
COORDINATION2
2020 Global types with internal delegation
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini, Ross Horne
Theor. Comput. Sci.3
2019 Reversible sessions with flexible choices
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini
Acta Informatica3
2019 Tracing sharing in an imperative pure calculus
abstract
© 2018 Elsevier B.V. We introduce a type and effect system, for an imperative object calculus, which infers sharing possibly introduced by the evaluation of an expression, represented as an equivalence relation among its free variables. This direct representation of sharing effects at the syntactic level allows us to express in a natural way, and to generalize, widely-used notions in literature, notably uniqueness and borrowing. Moreover, the calculus is pure in the sense that reduction is defined on language terms only, since they directly encode store. The advantage of this non-standard execution model with respect to a behaviorally equivalent standard model using a global auxiliary structure is that reachability relations among references are partly encoded by scoping.
Paola Giannini, Tim Richter, Marco Servetto, Elena Zucca
Sci. Comput. Program.1
2019 Flexible recovery of uniqueness and immutability
Paola Giannini, Marco Servetto, Elena Zucca, James Cone
Theor. Comput. Sci.1
2018 Java & Lambda: a Featherweight Story
abstract
We present FJ&$\lambda$, a new core calculus that extends Featherweight Java (FJ) with interfaces, supporting multiple inheritance in a restricted form, $\lambda$-expressions, and intersection types. Our main goal is to formalise how lambdas and intersection types are grafted on Java 8, by studying their properties in a formal setting. We show how intersection types play a significant role in several cases, in particular in the typecast of a $\lambda$-expression and in the typing of conditional expressions. We also embody interface \emph{default methods} in FJ&$\lambda$, since they increase the dynamism of $\lambda$-expressions, by allowing these methods to be called on $\lambda$-expressions. The crucial point in Java 8 and in our calculus is that $\lambda$-expressions can have various types according to the context requirements (target types): indeed, Java code does not compile when $\lambda$-expressions come without target types. In particular, in the operational semantics we must record target types by decorating $\lambda$-expressions, otherwise they would be lost in the runtime expressions. We prove the subject reduction property and progress for the resulting calculus, and we give a type inference algorithm that returns the type of a given program if it is well typed. The design of FJ&$\lambda$ has been driven by the aim of making it a subset of Java 8, while preserving the elegance and compactness of FJ. Indeed, FJ&$\lambda$ programs are typed and behave the same as Java programs.
Lorenzo Bettini, Viviana Bono, Mariangiola Dezani-Ciancaglini, Paola Giannini, Betti Venneri
Log. Methods Comput. Sci.4
2017 Concurrent Reversible Sessions
abstract
We present a calculus for concurrent reversible multiparty sessions, which improves on recent proposals in several respects: it allows for concurrent and sequential composition within processes and types, it gives a compact representation of the past of processes and types, which facilitates the definition of rollback, and it implements a fine-tuned strategy for backward computation. We propose a refined session type system for our calculus and show that it enforces the expected properties of session fidelity, forward and backward progress, as well as causal consistency. In conclusion, our calculus is a conservative extension of previous proposals, offering enhanced expressive power and refined analysis techniques.
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini
CONCUR3
2017 Tracing sharing in an imperative pure calculus: extended abstract
abstract
We introduce a type and effect system, for an imperative object calculus, which infers sharing possibly introduced by the evaluation of an expression. Sharing is directly represented at the syntactic level as a relation among free variables, thanks to the fact that the calculus is pure. That is, imperative features are modeled by just rewriting source code terms. We consider both standard variables and affine variables, which can occur at most once in their scope. The latter are used as temporary references, to "move" a capsule (an isolated portion of store) to another location in the store. The sharing effects inferred by the type system are very expressive, and generalize notions introduced in literature by type modifiers.
Paola Giannini, Marco Servetto, Elena Zucca
FTfJP@ECOOP1
2017 Type safe incremental rebinding
abstract
We extend the simply-typed lambda-calculus with a mechanism for dynamic and incremental rebinding of code. Fragments of open code which can be dynamically rebound are values. Differently from standard static binding, which is done on a positional basis, rebinding is done on a nominal basis, that is, free variables in open code are associated with names which do not obey α-equivalence. Moreover, rebinding is incremental, that is, just a subset of names can be rebound, making possible code specialization, and rebinding can even introduce new names. Finally, rebindings, which are associations between names and terms, are first-class values, and can be manipulated by operators such as overriding and renaming. We define a type system in which the type for a rebinding, in addition to specify an association between names and types (similarly to record types), is also annotated. The annotation says whether or not the domain of the rebinding having this type may contain more names than the ones that are specified in the type. We show soundness of the type system.
Davide Ancona, Paola Giannini, Elena Zucca
Math. Struct. Comput. Sci.2
2016 Coupling catch clauses with local declarations
Paola Giannini, Marco Servetto, Elena Zucca
FTfJP@ECOOP1
2016 Exploring the Potential of Global Types for Adding a Choreography Perspective to the jABC Framework
abstract
We discuss how global types, aka multiparty session types, provide a complementary perspective on workflow models within the jABC modeling framework. On a reference example from the Semantic Web Services Challenge we show how the service orchestrations of jABC workflow applications can be expressed as service choreographies based on global types. Roles, identified with sets of logically related Service-Independent Building Blocks (SIBs), bridge between the two ways of looking at the behavior of systems. We compare the degree of declarativity and robustness in the face of changes of the reference example modeled with the jABC framework with as a global types specification.
Paola Giannini, Anna-Lena Lamprecht, Tiziana Margaria
MODELSWARD1
2015 Interactions between Computer Science and Biology
Paola Giannini, Emanuela Merelli, Angelo Troina
Theor. Comput. Sci.1
2013 An Intermediate Language for Compilation to Scripting Languages
Paola Giannini, Albert Shaqiri
ICSOFT1
2012 Typed stochastic semantics for the calculus of looping sequences
Livio Bioglio, Mariangiola Dezani-Ciancaglini, Paola Giannini, Angelo Troina
Theor. Comput. Sci.3
2009 FEATHERWEIGHT AGENT LANGUAGE - A Core Calculus for Agents and Artifacts
Ferruccio Damiani, Paola Giannini, Alessandro Ricci, Mirko Viroli
ICSOFT (1)2
2008 A type safe state abstraction for coordination in Java -like languages
Ferruccio Damiani, Elena Giachino, Paola Giannini, Sophia Drossopoulou
Acta Informatica3
2008 Alias Types and Effects for "Environment-aware" Computations
Ferruccio Damiani, Elena Giachino, Paola Giannini
Fundam. Informaticae3
2007 A provenly correct translation of Fickle into Java
abstract
We present a translation from Fickle , a small object-oriented language allowing objects to change their class at runtime, into Java. The translation is provenly correct in the sense that it preserves the static and dynamic semantics. Moreover, it is compatible with separate compilation, since the translation of a Fickle class does not depend on the implementation of used classes. Based on the formal system, we have developed an implementation. The translation turned out to be a more subtle problem than we expected. In this article, we discuss four possible approaches we considered for the design of the translation and to justify our choice, we present formally the translation and proof of preservation of the static and dynamic semantics, and discuss the prototype implementation. Moreover, we outline an alternative translation based on generics that avoids most of the casts (but not all) needed in the previous translation. The language Fickle has undergone and is still undergoing several phases of development. In this article we are discussing the translation of Fickle II .
Davide Ancona, Ferruccio Damiani, Sophia Drossopoulou, Paola Giannini, Elena Zucca
ACM Trans. Program. Lang. Syst.5
2006 Safe Ambients: Abstract machine and distributed implementation
Paola Giannini, Davide Sangiorgi, Andrea Valente
Sci. Comput. Program.1
2005 Towards Type Inference for JavaScript
Paola Giannini, Sophia Drossopoulou
ECOOP2
2002 Strictness, totality, and non-standard-type inference
Mario Coppo, Ferruccio Damiani, Paola Giannini
Theor. Comput. Sci.3
2002 More dynamic object reclassification: Fickle||
abstract
Reclassification changes the class membership of an object at run-time while retaining its identity. We suggest language features for object reclassification, which extend an imperative, typed, class-based, object-oriented language.We present our proposal through the language Fickle ⋄⋄ . The imperative features, combined with the requirement for a static and safe type system, provided the main challenges. We develop a type and effect system for Fickle ⋄⋄ and prove its soundness with respect to the operational semantics. In particular, even though objects may be reclassified across classes with different members, there will never be an attempt to access nonexisting members.
Sophia Drossopoulou, Ferruccio Damiani, Mariangiola Dezani-Ciancaglini, Paola Giannini
ACM Trans. Program. Lang. Syst.4
2001 Fickle : Dynamic Object Re-classification
Sophia Drossopoulou, Ferruccio Damiani, Mariangiola Dezani-Ciancaglini, Paola Giannini
ECOOP4
2000 Automatic useless-code elimination for HOT functional programs
abstract
In this paper we present two type inference systems for detecting useless-code in higher-order typed functional programs. Type inference can be performed in an efficient and complete way, by reducing it to the solution of a system of constraints. We also give a useless-code elimination algorithm which is based on a combined use of these type inference systems. The main application of the technique is the optimization of programs extracted from proofs in logical frameworks, but it could be used as well in the elimination of useless-code determined by program transformations.
Ferruccio Damiani, Paola Giannini
J. Funct. Program.2
1999 A filter model for mobile processes
Ferruccio Damiani, Mariangiola Dezani-Ciancaglini, Paola Giannini
Math. Struct. Comput. Sci.3
1996 Refinement Types for Program Analysis
Mario Coppo, Ferruccio Damiani, Paola Giannini
SAS3
1995 Principal Types and Unification for a Simple Intersection Type System
Mario Coppo, Paola Giannini
Inf. Comput.2
1994 A Type Inference Algorithm for a Stratified Polymorphic Type Discipline
Paola Giannini, Simona Ronchi Della Rocca
Inf. Comput.1
1993 Type Inference: Some Results, Some Problems
Paola Giannini, Furio Honsell, Simona Ronchi Della Rocca
Fundam. Informaticae1
1988 Characterization of typings in polymorphic type discipline
abstract
Polymorphic type discipline for lambda -calculus is an extension of H.B. Curry's (1969) classical functionality theory, in which types can be universally quantified. An algorithm that, given a term M, builds a set of constraints, is satisfied. Moreover, all the typings for M (if any) are built from the set of constraints by substitutions. Using the set of constraints, some properties of polymorphic type discipline are proved.>
Paola Giannini, Simona Ronchi Della Rocca
LICS1
1984 Effectively Given Domains and Lambda-Calculus Models
Paola Giannini, Giuseppe Longo
Inf. Control.1