Skip to main content

Showing 1–27 of 27 results for author: Vasconcelos, V T

Searching in archive cs. Search in all archives.
.
  1. Behavioural Types for Heterogeneous Systems (Position Paper)

    Authors: Simon Fowler, Philipp Haller, Roland Kuhn, Sam Lindley, Alceste Scalas, Vasco T. Vasconcelos

    Abstract: Behavioural types provide a promising way to achieve lightweight, language-integrated verification for communication-centric software. However, a large barrier to the adoption of behavioural types is that the current state of the art expects software to be written using the same tools and ty** discipline throughout a system, and has little support for components over which a developer has no con… ▽ More

    Submitted 8 April, 2024; originally announced April 2024.

    Comments: In Proceedings PLACES 2024, arXiv:2404.03712

    Journal ref: EPTCS 401, 2024, pp. 37-48

  2. Linear Contextual Metaprogramming and Session Types

    Authors: Pedro Ângelo, Atsushi Igarashi, Vasco T. Vasconcelos

    Abstract: We explore the integration of metaprogramming in a call-by-value linear lambda-calculus and sketch its extension to a session type system. We build on a model of contextual modal type theory with multi-level contexts, where contextual values, closing arbitrary terms over a series of variables, may then be boxed and transmitted in messages. Once received, one such value may then be unboxed (with a… ▽ More

    Submitted 8 April, 2024; originally announced April 2024.

    Comments: In Proceedings PLACES 2024, arXiv:2404.03712

    Journal ref: EPTCS 401, 2024, pp. 1-10

  3. Subty** Context-Free Session Types

    Authors: Gil Silva, Andreia Mordido, Vasco T. Vasconcelos

    Abstract: Context-free session types describe structured patterns of communication on heterogeneously-typed channels, allowing the specification of protocols unconstrained by tail recursion. The enhanced expressive power provided by non-regular recursion comes, however, at the cost of the decidability of subty**, even if equivalence is still decidable. We present an approach to subty** context-free sess… ▽ More

    Submitted 20 September, 2023; v1 submitted 11 July, 2023; originally announced July 2023.

    Comments: 34 pages, 6 figures, technical report of a paper published in the conference proceedings of CONCUR 2023

    Journal ref: Leibniz International Proceedings in Informatics (LIPIcs), 34th International Conference on Concurrency Theory (CONCUR 2023), pp.11:1-11:19

  4. Kind Inference for the FreeST Programming Language

    Authors: Bernardo Almeida, Andreia Mordido, Vasco T. Vasconcelos

    Abstract: We present a kind inference algorithm for the FREEST programming language. The input to the algorithm is FREEST source code with (possibly part of) kind annotations replaced by kind variables. The algorithm infers concrete kinds for all kind variables. We ran the algorithm on the FREEST test suite by first replacing kind annotation on all type variables by fresh kind variables, and concluded that… ▽ More

    Submitted 13 April, 2023; originally announced April 2023.

    Comments: In Proceedings PLACES 2023, arXiv:2304.05439

    Journal ref: EPTCS 378, 2023, pp. 1-13

  5. Parameterized Algebraic Protocols

    Authors: Andreia Mordido, Janek Spaderna, Peter Thiemann, Vasco T. Vasconcelos

    Abstract: We propose algebraic protocols that enable the definition of protocol templates and session types analogous to the definition of domain-specific types with algebraic datatypes. Parameterized algebraic protocols subsume all regular as well as most context-free and nested session types and, at the same time, replace the expensive superlinear algorithms for type checking by a nominal check that runs… ▽ More

    Submitted 7 April, 2023; originally announced April 2023.

    ACM Class: D.3.1

  6. arXiv:2301.08659  [pdf, ps, other

    cs.LO cs.FL cs.PL

    System $F^μ_ω$ with Context-free Session Types

    Authors: Diana Costa, Andreia Mordido, Diogo Poças, Vasco T. Vasconcelos

    Abstract: We study increasingly expressive type systems, from $F^μ$ -- an extension of the polymorphic lambda calculus with equirecursive types -- to $F^{μ;}_ω$ -- the higher-order polymorphic lambda calculus with equirecursive types and context-free session types. Type equivalence is given by a standard bisimulation defined over a novel labelled transition system for types. Our system subsumes the contract… ▽ More

    Submitted 20 January, 2023; originally announced January 2023.

    Comments: 38 pages, 13 figures

  7. arXiv:2203.12877  [pdf, ps, other

    cs.LO cs.FL cs.PL

    Higher-order Context-free Session Types in System F

    Authors: Diana Costa, Andreia Mordido, Diogo Poças, Vasco T. Vasconcelos

    Abstract: We present an extension of System F with higher-order context-free session types. The mixture of functional types with session types has proven to be a challenge for type equivalence formalization: whereas functional type equivalence is often rule-based, session type equivalence usually follows a semantic approach based on bisimulations. We propose a unifying approach that handles the equivalence… ▽ More

    Submitted 24 March, 2022; originally announced March 2022.

    Comments: In Proceedings PLACES 2022, arXiv:2203.12142

    Journal ref: EPTCS 356, 2022, pp. 24-35

  8. arXiv:2201.08275  [pdf, ps, other

    cs.PL cs.FL cs.LO

    The Different Shades of Infinite Session Types

    Authors: Simon J. Gay, Diogo Poças, Vasco T. Vasconcelos

    Abstract: Many type systems include infinite types. In session type systems, which are the focus of this paper, infinite types are important because they allow the specification of communication protocols that are unbounded in time. Usually infinite session types are introduced as simple finite-state expressions $\mathsf{rec}\, X.T$ or by non-parametric equational definitions $X\doteq T$. Alternatively, som… ▽ More

    Submitted 20 January, 2022; originally announced January 2022.

    Comments: 51 pages, 12 figures

  9. arXiv:2108.02672  [pdf, other

    cs.PL

    Protocol-based Smart Contract Generation

    Authors: Afonso Falcão, Andreia Mordido, Vasco T. Vasconcelos

    Abstract: The popularity of smart contracts is on the rise, yet breaches in reliability and security linger. Among the many facets of smart contract reliability, we concentrate on faults rooted in out-of-order interactions with contract endpoints. We propose SmartScribble, a protocol language to describe valid patterns of interaction between users and endpoints. SmartScribble not only ensures correct intera… ▽ More

    Submitted 5 August, 2021; originally announced August 2021.

    Comments: 20 pages, 9 figures

  10. arXiv:2106.06658  [pdf, ps, other

    cs.PL

    Polymorphic Lambda Calculus with Context-Free Session Types

    Authors: Bernardo Almeida, Andreia Mordido, Peter Thiemann, Vasco T. Vasconcelos

    Abstract: Context-free session types provide a ty** discipline for recursive structured communication protocols on bidirectional channels. They overcome the restriction of regular session type systems to tail recursive protocols. This extension enables us to implement serialisation and deserialisation of tree structures in a fully type-safe manner. We present the theory underlying the language FreeST 2,… ▽ More

    Submitted 2 August, 2022; v1 submitted 11 June, 2021; originally announced June 2021.

  11. arXiv:2007.08048  [pdf, other

    cs.SE cs.PL

    SafeRESTScript: Statically Checking REST API Consumers

    Authors: Nuno Burnay, Antónia Lopes, Vasco T. Vasconcelos

    Abstract: Consumption of REST services has become a popular means of invoking code provided by third parties, particularly in web applications. Nowadays programmers of web applications can choose TypeScript over JavaScript to benefit from static type checking that enables validating calls to local functions or to those provided by libraries. Errors in calls to REST services, however, can only be found at ru… ▽ More

    Submitted 15 July, 2020; originally announced July 2020.

  12. Mixed Sessions: the Other Side of the Tape

    Authors: Filipe Casal, Andreia Mordido, Vasco T. Vasconcelos

    Abstract: The original paper on Mixed Sessions introduce the side A of the tape: there is an encoding of classical sessions into mixed sessions. Here we present side B: there is a translation of (a subset of) mixed sessions into classical session types. We prove that the translation is a minimal encoding, according to the criteria put forward by Kouzapas, Pérez, and Yoshida.

    Submitted 2 April, 2020; originally announced April 2020.

    Comments: In Proceedings PLACES 2020, arXiv:2004.01062

    Journal ref: EPTCS 314, 2020, pp. 46-60

  13. Duality of Session Types: The Final Cut

    Authors: Simon J. Gay, Peter Thiemann, Vasco T. Vasconcelos

    Abstract: Duality is a central concept in the theory of session types. Since a flaw was found in the original definition of duality for recursive types, several other definitions have been published. As their connection is not obvious, we compare the competing definitions, discuss tradeoffs, and prove some equivalences. Some of the results are mechanized in Agda.

    Submitted 2 April, 2020; originally announced April 2020.

    Comments: In Proceedings PLACES 2020, arXiv:2004.01062

    ACM Class: D.3.1; D.3.3; F.3.3

    Journal ref: EPTCS 314, 2020, pp. 23-33

  14. Label-Dependent Session Types

    Authors: Peter Thiemann, Vasco T. Vasconcelos

    Abstract: Session types have emerged as a ty** discipline for communication protocols. Existing calculi with session types come equipped with many different primitives that combine communication with the introduction or elimination of the transmitted value. We present a foundational session type calculus with a lightweight operational semantics. It fully decouples communication from the introduction and… ▽ More

    Submitted 11 November, 2019; v1 submitted 2 November, 2019; originally announced November 2019.

    Comments: POPL 2020

    Journal ref: Proc. ACM Program. Lang. 4, POPL, Article 67 (January 2020)

  15. FreeST: Context-free Session Types in a Functional Language

    Authors: Bernardo Almeida, Andreia Mordido, Vasco T. Vasconcelos

    Abstract: FreeST is an experimental concurrent programming language. Based on a core linear functional programming language, it features primitives to fork new threads, and for channel creation and communication. A powerful type system of context-free session types governs the interaction on channels. The compiler builds on a novel algorithm for deciding type equivalence of context-free session types. This… ▽ More

    Submitted 2 April, 2019; originally announced April 2019.

    Comments: In Proceedings PLACES 2019, arXiv:1904.00396

    ACM Class: D.3.2; D.3.3; D.3.4

    Journal ref: EPTCS 291, 2019, pp. 12-23

  16. Gradual Session Types

    Authors: Atsushi Igarashi, Peter Thiemann, Yuya Tsuda, Vasco T. Vasconcelos, Philip Wadler

    Abstract: Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages, with type disciplines in a spectrum between static and dynamic ty**. Gradual session types address this mixed setting by providing a framework which grants se… ▽ More

    Submitted 16 September, 2019; v1 submitted 15 September, 2018; originally announced September 2018.

    Comments: Preprint of an article to appear in Journal of Functional Programming

    Journal ref: J. Funct. Prog. 29 (2019) e17

  17. Affine Sessions

    Authors: Dimitris Mostrous, Vasco T. Vasconcelos

    Abstract: Session types describe the structure of communications implemented by channels. In particular, they prescribe the sequence of communications, whether they are input or output actions, and the type of value exchanged. Crucial to any language with session types is the notion of linearity, which is essential to ensure that channels exhibit the behaviour prescribed by their type without interference i… ▽ More

    Submitted 14 November, 2018; v1 submitted 8 September, 2018; originally announced September 2018.

    ACM Class: F.3.2; F.4.1

    Journal ref: Logical Methods in Computer Science, Volume 14, Issue 4 (November 15, 2018) lmcs:4815

  18. Inferring Types for Parallel Programs

    Authors: Francisco Martins, Vasco Thudichum Vasconcelos, Hans Hüttel

    Abstract: The Message Passing Interface (MPI) framework is widely used in implementing imperative pro- grams that exhibit a high degree of parallelism. The PARTYPES approach proposes a behavioural type discipline for MPI-like programs in which a type describes the communication protocol followed by the entire program. Well-typed programs are guaranteed to be exempt from deadlocks. In this paper we describe… ▽ More

    Submitted 10 April, 2017; originally announced April 2017.

    Comments: In Proceedings PLACES 2017, arXiv:1704.02418

    Journal ref: EPTCS 246, 2017, pp. 28-36

  19. arXiv:1704.02418   

    cs.PL cs.DC cs.SE

    Proceedings Tenth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software

    Authors: Vasco T. Vasconcelos, Philipp Haller

    Abstract: PLACES 2017 (full title: Programming Language Approaches to Concurrency- and Communication-cEntric Software) is the tenth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. PLACES 2017 was held on 29th April in Uppsala, Sweden… ▽ More

    Submitted 7 April, 2017; originally announced April 2017.

    Journal ref: EPTCS 246, 2017

  20. Deductive Verification of Parallel Programs Using Why3

    Authors: César Santos, Francisco Martins, Vasco Thudichum Vasconcelos

    Abstract: The Message Passing Interface specification (MPI) defines a portable message-passing API used to program parallel computers. MPI programs manifest a number of challenges on what concerns correctness: sent and expected values in communications may not match, resulting in incorrect computations possibly leading to crashes; and programs may deadlock resulting in wasted resources. Existing tools are… ▽ More

    Submitted 19 August, 2015; originally announced August 2015.

    Comments: In Proceedings ICE 2015, arXiv:1508.04595

    ACM Class: D.2.4; F.3.1

    Journal ref: EPTCS 189, 2015, pp. 128-142

  21. arXiv:1406.3313   

    cs.DC cs.PL

    Proceedings 7th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software

    Authors: Alastair F. Donaldson, Vasco T. Vasconcelos

    Abstract: This volume contains the post-proceedings of PLACES 2014, the seventh Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, which was held in Grenoble, France, on April 12th 2014, and co-located with ETAPS, the European Joint Conferences on Theory and Practice of Software. The PLACES workshop series aims to offer a forum where researchers from different fi… ▽ More

    Submitted 12 June, 2014; originally announced June 2014.

    Journal ref: EPTCS 155, 2014

  22. arXiv:1312.2705  [pdf, other

    cs.DC cs.LO cs.PL

    Towards deductive verification of MPI programs against session types

    Authors: Eduardo R. B. Marques, Francisco Martins, Vasco T. Vasconcelos, Nicholas Ng, Nuno Martins

    Abstract: The Message Passing Interface (MPI) is the de facto standard message-passing infrastructure for develo** parallel applications. Two decades after the first version of the library specification, MPI-based applications are nowadays routinely deployed on super and cluster computers. These applications, written in C or Fortran, exhibit intricate message passing behaviours, making it hard to statical… ▽ More

    Submitted 10 December, 2013; originally announced December 2013.

    Comments: In Proceedings PLACES 2013, arXiv:1312.2218

    Journal ref: EPTCS 137, 2013, pp. 103-113

  23. Linearly Refined Session Types

    Authors: Pedro Baltazar, Dimitris Mostrous, Vasco T. Vasconcelos

    Abstract: Session types capture precise protocol structure in concurrent programming, but do not specify properties of the exchanged values beyond their basic type. Refinement types are a form of dependent types that can address this limitation, combining types with logical formulae that may refer to program values and can constrain types using arbitrary predicates. We present a pi calculus with assume an… ▽ More

    Submitted 17 November, 2012; originally announced November 2012.

    Comments: In Proceedings LINEARITY 2012, arXiv:1211.3480

    Journal ref: EPTCS 101, 2012, pp. 38-49

  24. Modular session types for objects

    Authors: Simon J. Gay, Nils Gesbert, António Ravara, Vasco T. Vasconcelos

    Abstract: Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in three ways. (1) We attach a session type to a class definition, to specify the possible sequences of method calls. (2) We allow a session type (protocol) impleme… ▽ More

    Submitted 23 December, 2015; v1 submitted 24 May, 2012; originally announced May 2012.

    Comments: Logical Methods in Computer Science (LMCS), International Federation for Computational Logic, 2015

    Journal ref: Logical Methods in Computer Science, Volume 11, Issue 4 (December 16, 2015) lmcs:1613

  25. Types for X10 Clocks

    Authors: Francisco Martins, Vasco T. Vasconcelos, Tiago Cogumbreiro

    Abstract: X10 is a modern language built from the ground up to handle future parallel systems, from multicore machines to cluster configurations. We take a closer look at a pair of synchronisation mechanisms: finish and clocks. The former waits for the termination of parallel computations, the latter allow multiple concurrent activities to wait for each other at certain points in time. In order to better un… ▽ More

    Submitted 18 October, 2011; originally announced October 2011.

    Comments: In Proceedings PLACES 2010, arXiv:1110.3853

    ACM Class: D.1.3; D.2.4; D.3.1

    Journal ref: EPTCS 69, 2011, pp. 111-129

  26. Channels as Objects in Concurrent Object-Oriented Programming

    Authors: Joana Campos, Vasco T. Vasconcelos

    Abstract: There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream object-oriented languages cannot provide for the verification of client code adherence against the sought class behaviour. We have defined a class-based concurrent objec… ▽ More

    Submitted 18 October, 2011; originally announced October 2011.

    Comments: In Proceedings PLACES 2010, arXiv:1110.3853

    Journal ref: EPTCS 69, 2011, pp. 12-28

  27. Type Inference for Deadlock Detection in a Multithreaded Polymorphic Typed Assembly Language

    Authors: Vasco T. Vasconcelos, Francisco Martins, Tiago Cogumbreiro

    Abstract: We previously developed a polymorphic type system and a type checker for a multithreaded lock-based polymorphic typed assembly language (MIL) that ensures that well-typed programs do not encounter race conditions. This paper extends such work by taking into consideration deadlocks. The extended type system verifies that locks are acquired in the proper order. Towards this end we require a langua… ▽ More

    Submitted 5 February, 2010; v1 submitted 4 February, 2010; originally announced February 2010.

    Journal ref: EPTCS 17, 2010, pp. 95-109