Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by José Bacelar Almeida

2008

Deriving Sorting Algorithms

Authors
Almeida, JoseBacelar; Pinto, JorgeSousa;

Publication
CoRR

Abstract

2008

Token-passing Nets for Functional Languages

Authors
Almeida, JB; Pinto, JS; Vilaça, M;

Publication
Electr. Notes Theor. Comput. Sci.

Abstract
Token-passing nets were proposed by Sinot as a simple mechanism for encoding evaluation strategies for the ?-calculus in interaction nets. This work extends token-passing nets to cover a typed functional language equipped with structured types and unrestricted recursion. The resulting interaction system is derived systematically from the chosen big-step operational semantics. Along the way, we actually characterize and discuss several design decisions of token-passing nets and extend them in order to achieve simpler interaction net systems with a higher degree of embedded parallelism.

2011

Rigorous Software Development - An Introduction to Program Verification

Authors
Almeida, JB; Frade, MJ; Pinto, JS; Sousa, SMd;

Publication
Undergraduate Topics in Computer Science

Abstract

2008

A Tool for Programming with Interaction Nets

Authors
Almeida, JB; Pinto, JS; Vilaca, M;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
This paper introduces INblobs, a visual tool developed at Minho for integrated development with Interaction Nets. Most of the existing tools take as input interaction nets and interaction rules represented in a textual format. INblobs is first of all a visual editor that allows users to edit interaction systems (both interaction nets and interaction rules) graphically, and to convert them to textual notation. This can then be used as input to other tools that implement reduction of nets. INblobs also allows the user to reduce nets within the tool, and includes a mechanism that automatically selects the next active pair to be reduced, following one of the given reduction strategies. The paper also describes other features of the tool, such as the creation of rules from pre-defined templates.

2007

A Local Graph-rewriting System for Deciding Equality in Sum-product Theories

Authors
Almeida, JB; Pinto, JS; Vilaca, M;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
In this paper we give a graph-based decision procedure for a calculus with sum and product types. Although our motivation comes from the Bird-Meertens approach to reasoning algebraically about functional programs, the language used here can be seen as the internal language of a category with binary products and coproducts. As such, the decision procedure presented has independent interest. A standard approach based on term rewriting would work modulo a set of equations; the present work proposes a simpler approach, based on graph-rewriting. We show in turn how the system covers reflection equational laws, fusion laws, and cancellation laws.

2010

Deductive verification of cryptographic software

Authors
Almeida, JB; Barbosa, M; Pinto, JS; Vieira, B;

Publication
Innovations in Systems and Software Engineering

Abstract
We apply state-of-the art deductive verification tools to check security-relevant properties of cryptographic software, including safety, absence of error propagation, and correctness with respect to reference implementations. We also develop techniques to help us in our task, focusing on methods oriented towards increased levels of automation, in scenarios where there are clear obvious limits to such automation. These techniques allow us to integrate automatic proof tools with an interactive proof assistant, where the latter is used off-line to prove once-and-for-all fundamental lemmas about properties of programs. The techniques developed have independent interest for practical deductive verification in general. © 2010 Springer-Verlag London Limited.

  • 6
  • 8