Skip to main content

Showing 1–22 of 22 results for author: Ravara, A

.
  1. arXiv:2404.19523  [pdf, other

    cs.LO

    TRAC: a tool for data-aware coordination (with an application to smart contracts)

    Authors: Joao Afonso, Elvis Konjoh Selabi, Maurizio Murgia, Antonio Ravara, Emilio Tuosto

    Abstract: We propose TRAC, a tool for the specification and verification of coordinated multiparty distributed systems. Relying on finite-state machines (FSMs) where transition labels look like Hoare triples, \thetool can specify the coordination of the participants of a distributed protocol for instance an execution model akin blockchain smart contracts (SCs). In fact, the transitions of our FSMs yield gua… ▽ More

    Submitted 30 April, 2024; originally announced April 2024.

  2. arXiv:2309.05483  [pdf, other

    cs.PL

    Sound Atomicity Inference for Data-Centric Synchronization

    Authors: Hervé Paulino, Ana Almeida Matos, Jan Cederquist, Marco Giunti, João Matos, António Ravara

    Abstract: Data-Centric Concurrency Control (DCCC) shifts the reasoning about concurrency restrictions from control structures to data declaration. It is a high-level declarative approach that abstracts away from the actual concurrency control mechanism(s) in use. Despite its advantages, the practical use of DCCC is hindered by the fact that it may require many annotations and/or multiple implementations of… ▽ More

    Submitted 11 September, 2023; originally announced September 2023.

  3. arXiv:2212.14651  [pdf, other

    cs.SC cs.DC cs.PL

    Anticipation of Method Execution in Mixed Consistency Systems -- Technical Report

    Authors: Marco Giunti, Hervé Paulino, António Ravara

    Abstract: Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be synchronised. To deal efficiently with sequences of operations on different replicas of the distributed application, it is useful to know which operations commu… ▽ More

    Submitted 30 December, 2022; originally announced December 2022.

    Comments: 12 pages, 1 figure, companion technical report of paper "Anticipation of Method Execution in Mixed Consistency Systems" to appear in SAC (ACM/SIGAPP Symposium on Applied Computing) 2023

  4. arXiv:2212.02425  [pdf, other

    cs.LO cs.PL

    Leroy and Blazy were right: their memory model soundness proof is automatable (Extended Version)

    Authors: Pedro Barroso, Mário Pereira, António Ravara

    Abstract: Xavier Leroy and Sandrine Blazy in 2007 conducted a formal verification, using the Coq proof assistant, of a memory model for low-level imperative languages such as C. Considering their formalization was performed essentially in first-order logic, one question left open by the authors was whether their proofs could be automated using a verification framework for first-order logic. We took the chal… ▽ More

    Submitted 5 December, 2022; originally announced December 2022.

    Comments: To be published in VSTTE'22

  5. arXiv:2209.05136  [pdf, other

    cs.LO cs.PL

    On using VeriFast, VerCors, Plural, and KeY to check object usage

    Authors: João Mota, Marco Giunti, António Ravara

    Abstract: Typestates are a notion of behavioral types that describe protocols for stateful objects, specifying the available methods for each state, in terms of a state machine. Usually, objects with protocol are either forced to be used in a linear way, which restricts what a programmer can do, or deductive verification is required to verify programs where these objects may be aliased. To evaluate the stre… ▽ More

    Submitted 8 February, 2023; v1 submitted 12 September, 2022; originally announced September 2022.

  6. arXiv:2104.11050  [pdf, other

    cs.LO

    Cameleer: a Deductive Verification Tool for OCaml (extended version)

    Authors: Mário Pereira, António Ravara

    Abstract: OCaml is particularly well-fitted for formal verification. On one hand, it is a multi-paradigm language with a well-defined semantics, allowing one to write clean, concise, type-safe, and efficient code. On the other hand, it is a language of choice for the implementation of sensible software, e.g., industrial compilers, proof assistants, and automated solvers. Yet, with the notable exception of s… ▽ More

    Submitted 6 September, 2021; v1 submitted 22 April, 2021; originally announced April 2021.

  7. Typestates to Automata and back: a tool

    Authors: André Trindade, João Mota, António Ravara

    Abstract: Development of software is an iterative process. Graphical tools to represent the relevant entities and processes can be helpful. In particular, automata capture well the intended execution flow of applications, and are thus behind many formal approaches, namely behavioral types. Typestate-oriented programming allow us to model and validate the intended protocol of applications, not only providi… ▽ More

    Submitted 16 September, 2020; originally announced September 2020.

    Comments: In Proceedings ICE 2020, arXiv:2009.07628

    Journal ref: EPTCS 324, 2020, pp. 25-42

  8. arXiv:2003.05081  [pdf, other

    cs.LO

    Animated Logic: Correct Functional Conversion to Conjunctive Normal Form

    Authors: Pedro Barroso, Mário Pereira, António Ravara

    Abstract: We present an approach to obtain formally verified implementations of classical Computational Logic algorithms. We choose the Why3 platform because it allows to implement functions in a style very close to the mathematical definitions, as well as it allows a high degree of automation in the verification process. As proof of concept, we present a mathematical definition of the algorithm to conver… ▽ More

    Submitted 10 March, 2020; originally announced March 2020.

    Comments: 24 pages

    ACM Class: F.3.1

  9. arXiv:2002.12793  [pdf, ps, other

    cs.PL

    Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language

    Authors: Mario Bravetti, Adrian Francalanza, Iaroslav Golovanov, Hans Hüttel, Mathias Steen Jakobsen, Mikkel Klinke Kettunen, António Ravara

    Abstract: We present a type-based analysis ensuring memory safety and object protocol completion in the Java-like language Mungo. Objects are annotated with usages, typestates-like specifications of the admissible sequences of method calls. The analysis entwines usage checking, controlling the order in which methods are called, with a static check determining whether references may contain null values. The… ▽ More

    Submitted 28 February, 2020; originally announced February 2020.

  10. arXiv:1907.05384  [pdf, other

    cs.FL

    Visualização e animação de autómatos em Ocsigen Framework

    Authors: Rita Macedo, Artur Miguel Dias, António Ravara

    Abstract: Formal Languages and Automata Theory are important foundational topics in Computer Science. Their rigorous and formal characteristics make their learning them demanding. An important support for the assimilation of concepts is the possibility of interactively visualizing concrete examples of these computational models, facilitating understanding them. The tools available are neither complete nor… ▽ More

    Submitted 11 July, 2019; originally announced July 2019.

    Comments: Article in Portuguese, submitted to the national informatics conference INForum (http://inforum.org.pt/INForum2019)

  11. A Simple Functional Presentation and an Inductive Correctness Proof of the Horn Algorithm

    Authors: António Ravara

    Abstract: We present a recursive formulation of the Horn algorithm for deciding the satisfiability of propositional clauses. The usual presentations in imperative pseudo-code are informal and not suitable for simple proofs of its main properties. By defining the algorithm as a recursive function (computing a least fixed-point), we achieve: 1) a concise, yet rigorous, formalisation; 2) a clear form of visua… ▽ More

    Submitted 13 September, 2018; originally announced September 2018.

    Comments: In Proceedings HCVS 2018, arXiv:1809.04554

    Journal ref: EPTCS 278, 2018, pp. 34-48

  12. arXiv:1807.08015  [pdf, other

    cs.SE cs.PL cs.SC

    Uma análise comparativa de ferramentas de análise estática para deteção de erros de memória

    Authors: Patrícia Monteiro, João Lourenço, António Ravara

    Abstract: --- Portuguese version As falhas de software estão com frequência associadas a acidentes com graves consequências económicas e/ou humanas, pelo que se torna imperioso investir na validação do software, nomeadamente daquele que é crítico. Este artigo endereça a temática da qualidade do software através de uma análise comparativa da usabilidade e eficácia de quatro ferramentas de análise estática… ▽ More

    Submitted 20 July, 2018; originally announced July 2018.

    Comments: Article in Portuguese, accepted in the national informatics conference INForum (http://inforum.org.pt/INForum2018)

  13. Revisiting concurrent separation logic

    Authors: Pedro Soares, António Ravara, Simão Melo de Sousa

    Abstract: We present a new soundness proof of Concurrent Separation Logic (CSL) based on a structural operational semantics (SOS). We build on two previous proofs and develop new auxiliary notions to achieve the goal. One uses a denotational semantics (based on traces). The other is based on SOS, but was obtained only for a fragment of the logic - the Disjoint CSL - which disallows modifying shared variable… ▽ More

    Submitted 5 December, 2017; originally announced December 2017.

    Journal ref: Journal of Logical and Algebraic Methods in Programming, Volume 89, 2017, Pages 41-66

  14. arXiv:1604.06245  [pdf, other

    cs.PL

    A Revision of the Mool Language

    Authors: Cláudio Vasconcelos, António Ravara

    Abstract: We present here in a thorough analysis of the Mool language, covering not only its implementation but also the formalisation (syntax, operational semantics, and type system). The objective is to detect glitches in both the implementation and in the formal definitions, proposing as well new features and added expressiveness. To test our proposals we implemented the revision developed in the Racket… ▽ More

    Submitted 22 September, 2016; v1 submitted 21 April, 2016; originally announced April 2016.

    Comments: 34 pages, 15 figures, 11 listings

  15. arXiv:1603.08949  [pdf, other

    cs.PL

    The While language

    Authors: Cláudio Vasconcelos, António Ravara

    Abstract: This article presents a formalisation of a simple imperative programming language. The objective is to study and develop "hands-on" a formal specifcation of a programming language, namely its syntax, operational semantics and type system. To have an executable version of the language, we implemented in Racket its operational semantics and type system.

    Submitted 12 April, 2016; v1 submitted 29 March, 2016; originally announced March 2016.

    Comments: 15 pages, 21 figures

  16. Unlocking Blocked Communicating Processes

    Authors: Adrian Francalanza, Marco Giunti, António Ravara

    Abstract: We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose refactoring procedures that disentangle detected locks. Our development is cast within a simple setting of a finite linear CCS variant â although it suffices to illu… ▽ More

    Submitted 16 August, 2015; originally announced August 2015.

    Comments: In Proceedings WWV 2015, arXiv:1508.03389

    Journal ref: EPTCS 188, 2015, pp. 23-32

  17. arXiv:1409.2294   

    cs.LO cs.PL cs.SE

    Proceedings 10th International Workshop on Automated Specification and Verification of Web Systems

    Authors: Maurice H. ter Beek, António Ravara

    Abstract: These proceedings contain the papers presented at the 10th International Workshop on Automated Specification and Verification of Web Systems (WWV 2014), which was held on 18 July 2014 in Vienna, Austria, as a satellite workshop of the Federated Logic Conference (FLoC 2014), associated to the 7th International Joint Conference on Automated Reasoning (IJCAR 2014), as part of the Vienna Summer of Log… ▽ More

    Submitted 8 September, 2014; originally announced September 2014.

    Journal ref: EPTCS 163, 2014

  18. Session Types as Generic Process Types

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

    Abstract: Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are based on the idea of "types-as-processes", providing dedicated type algebras for particular properties, ranging from protocol compatibility to race-freedom, lock-freedom, or even responsiveness. Two successful, although rather different, approaches, are session types and process types. The former all… ▽ More

    Submitted 6 August, 2014; originally announced August 2014.

    Comments: In Proceedings EXPRESS/SOS 2014, arXiv:1408.1271

    Journal ref: EPTCS 160, 2014, pp. 94-110

  19. arXiv:1308.0268   

    cs.LO cs.SE

    Proceedings 9th International Workshop on Automated Specification and Verification of Web Systems

    Authors: António Ravara, Josep Silva

    Abstract: This volume contains the accepted papers of the 9th International Workshop on Automated Specification and Verification of Web Systems (WWV'13), which took place in Florence, Italy, on June 6, as a satellite event of the 8th International Federated Conferences on Distributed Computing Techniques (DisCoTec 2013).

    Submitted 31 July, 2013; originally announced August 2013.

    Journal ref: EPTCS 123, 2013

  20. arXiv:1208.4327   

    cs.DC cs.LO cs.PL cs.SE

    Proceedings 11th International Workshop on Foundations of Coordination Languages and Self Adaptation

    Authors: Natallia Kokash, António Ravara

    Abstract: Welcome to the proceedings of FOCLASA 2012, the 11th International Workshop on the Foundations of Coordination Languages and Self-Adaptation. FOCLASA 2012 was held in Newcastle upon Tyne, UK, on September 8, 2012 as a satellite event of CONCUR 2012, the 23rd International Conference on Concurrency Theory. The workshop provides a venue where researchers and practitioners could meet, exchange ideas,… ▽ More

    Submitted 15 August, 2012; originally announced August 2012.

    ACM Class: D.2; D.3.; F.1; F.3; F.4

    Journal ref: EPTCS 91, 2012

  21. 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

  22. arXiv:1107.5847   

    cs.SE cs.LO

    Proceedings 10th International Workshop on the Foundations of Coordination Languages and Software Architectures

    Authors: Mohammad Reza Mousavi, Antonio Ravara

    Abstract: Computation nowadays is becoming inherently concurrent, either because of characteristics of the hardware (with multicore processors becoming omnipresent) or due to the ubiquitous presence of distributed systems (incarnated in the Internet). Computational systems are therefore typically distributed, concurrent, mobile, and often involve composition of heterogeneous components. To specify and rea… ▽ More

    Submitted 28 July, 2011; originally announced July 2011.

    Comments: EPTCS 58, 2011