Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Betti Venneri

dblp:68/4724 · DBLP profile ↗
← Back
15ranked-venue papers
1as first author
0since 2021 · last 2018
0000-0001-6458-0305ORCID · verified

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

Theory of computation · 8 · 1 first-authorSoftware engineering, systems software and programming languages · 4

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%
Theoretical computer science
1 paper
Logic in computer science · 100%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language semantics
0.011990
Partial Types and Intervals · SIAM J. Comput. 1990
Programming languages and type systems › type inference
partial types
0.011990
Partial Types and Intervals · SIAM J. Comput. 1990
Programming languages and type systems
type inference
0.011990
Partial Types and Intervals · SIAM J. Comput. 1990
Programming languages and type systems
type systems
0.011990
Partial Types and Intervals · SIAM J. Comput. 1990
Logic in computer science
semantics
0.011990
Partial Types and Intervals · SIAM J. Comput. 1990

Methods — techniques the papers use, named apart from their topics

soundness and completeness proof · 0.0lambda calculus · 0.0modality · 0.0modalities · 0.0
YearPublicationVenuePosition
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.5
2015 Self-adaptive multiparty sessions
Mario Coppo, Mariangiola Dezani-Ciancaglini, Betti Venneri
Serv. Oriented Comput. Appl.3
2014 Self-Adaptive Monitors for Multiparty Sessions
abstract
This paper aims at incorporating the notion of self-adaptiveness in the context of multiparty sessions, by focusing on the issue of ensuring correctness for dynamic adaptations. A formal framework is presented centred around these main ingredients: global types, monitors and global state. A global type represents the overall communication choreography. Its projections are the monitors, which set-up the protocols of the participants. The association of a monitor with a compliant process incarnates a single participant. It is the choreography that is updated at runtime, in response to changing conditions in the global state. Monitors result to be self-adaptive in the sense that they react to these changes by modifying themselves, in order to prescribe new behaviours to the participants.
Mario Coppo, Mariangiola Dezani-Ciancaglini, Betti Venneri
PDP3
2013 Deriving session and union types for objects
abstract
Guaranteeing that the parties of a network application respect a given protocol is a crucial issue.Session typesoffer a method for abstracting and validating structured communication sequences (sessions).Object-oriented programmingis an established paradigm for large scale applications.Union types, which behave as the least common supertypes of a set of classes, allow the implementation of unrelated classes with similar interfaces without additional programming. We have previously developed an integration of the features above into a class-based core language for building network applications, and this successfully amalgamated sessions and methods so that data can be exchanged flexibly according to communication protocols (session types). The first aim of the work reported in this paper is to provide a full proof of the type safety property for that core language by renewing syntax, typing and semantics. In this way, static typechecking guarantees that after a session has started, computation cannot get stuck on a communication deadlock. The second aim is to define a constraint-based type system that reconstructs the appropriate session types of session declarations instead of assuming that session types are explicitly given by the programmer. Such an algorithm can save programming work, and automatically presents an abstract view of the communications of the sessions.
Lorenzo Bettini, Sara Capecchi, Mariangiola Dezani-Ciancaglini, Elena Giachino, Betti Venneri
Math. Struct. Comput. Sci.5
2011 Delegation by object composition
Lorenzo Bettini, Viviana Bono, Betti Venneri
Sci. Comput. Program.3
2009 Featherweight Java with dynamic and static overloading
Lorenzo Bettini, Sara Capecchi, Betti Venneri
Sci. Comput. Program.3
2008 A typed lambda calculus with intersection types
Viviana Bono, Betti Venneri, Lorenzo Bettini
Theor. Comput. Sci.2
2006 Double dispatch in C++
abstract
Double dispatch is the ability to dynamically select a method not only according to the run-time type of the receiver (single dispatch), but also according to the run-time type of the argument. This mechanism unleashes the power of dynamic binding in object-oriented languages, so enhancing re-usability and separation of responsibilities. However, many mainstream languages, such as, e.g., C++ and Java, do not provide it, resorting only to single dispatch. In this paper we propose an extension of C++ (also applicable to other object-oriented languages) that enables double dispatch as a language feature. This yields dynamic overloading and covariant specialization of methods. We define a translation from the new constructs to standard C++ and we present the preprocessor implementing this translation, called doublecpp. The translated code enjoys static type safety and implements the semantics of double dispatch by using only standard mechanisms of static overloading and dynamic binding, with minimal impact on the performance of the program. Copyright © 2006 John Wiley & Sons, Ltd.
Lorenzo Bettini, Sara Capecchi, Betti Venneri
Softw. Pract. Exp.3
2005 MOMI: a calculus for mobile mixins
Lorenzo Bettini, Betti Venneri, Viviana Bono
Acta Informatica2
2004 O'Klaim: A Coordination Language with Mobile Mixins
Lorenzo Bettini, Viviana Bono, Betti Venneri
COORDINATION3
2002 Coordinating Mobile Object-Oriented Code
Lorenzo Bettini, Viviana Bono, Betti Venneri
COORDINATION3
2000 Types for access control
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Betti Venneri
Theor. Comput. Sci.4
1994 Intersection Types as Logical Formulae
abstract
The aim of this paper is to investigate, in the Curry-Howard isomorphism approach, a logical characterization for the intersection-type discipline. First a novel formulation of the intersection type inference for combinatory logic is presented, such that it is equivalent to the original version of the system, while the intersection operator is no longer dealt with as a proof-theoretical connective. Then a Hilbert-style axiomatization is defined and proved to totally parallel intersection-derivability, in such a way that inhabited intersection-types are all and only the provable formulae in the logic system.
Betti Venneri
J. Log. Comput.1
1990 Partial Types and Intervals
abstract
The main idea of this paper is to develop an inference system to assign partial types to terms of the untyped lambda calculus. A term can either be necessarily or possibly of a certain type; these notions of necessity and possibility are incorporated into the type inference system as modalities. A subclass of types are the total types, for which necessity and possibility are equivalent. In the semantics the meaning of a total type is a set of values in the domain, the meaning of a type being, in general, an interval (a set of sets of values). This is a generalization of Cartwright’s semantics [Conference Record of the 12th Annual ACM Symposium on Principles of Programming Languages, Association for Computing Machinery, New York, 1984, pp. 22–36]. The main results are the soundness and completeness of the type inference system with respect to interval semantics.
Mariangiola Dezani-Ciancaglini, Betti Venneri
SIAM J. Comput.2
1984 Principal Type Schemes for an Extended Type Theory
Simona Ronchi Della Rocca, Betti Venneri
Theor. Comput. Sci.2