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 Jorge Sousa Pinto

2002

Encoding linear logic with interaction combinators

Authors
Mackie, I; Pinto, JS;

Publication
INFORMATION AND COMPUTATION

Abstract
The purpose of this paper is to demonstrate how Lafont's interaction combinators, a system of three symbols and six interaction rules, can be used to encode linear logic. Specifically, we give a translation of the multiplicative, exponential, and additive fragments of linear logic together with a strategy for cut-elimination which can be faithfully simulated. Finally, we show briefly how this encoding can be used for evaluating lambda-terms. In addition to offering a very simple, perhaps the simplest, system of rewriting for linear logic and the lambda-calculus, the interaction net implementation that we present has been shown by experimental testing to offer a good level of sharing in terms of the number of cut-elimination Steps (resp. beta-reduction steps). In particular it performs better than all extant finite systems of interaction nets. (C) 2002 Elsevier Science (USA).

2005

Point-free program transformation

Authors
Cunha, A; Pinto, JS;

Publication
FUNDAMENTA INFORMATICAE

Abstract
Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.

2009

Deductive Verification of Cryptographic Software

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

Publication
First NASA Formal Methods Symposium - NFM 2009, Moffett Field, California, USA, April 6-8, 2009.

Abstract

2010

A Deductive Verification Platform for Cryptographic Software

Authors
Barbosa, M; Pinto, JS; Filliâtre, JC; Vieira, B;

Publication
ECEASST

Abstract

2010

GamaSlicer: An online laboratory for program verification and analysis

Authors
Da Cruz, D; Henriques, PR; Pinto, JS;

Publication
Proceedings of the 10th Workshop on Language Descriptions, Tools and Applications, LDTA 2010

Abstract
In this paper we present the GamaSlicer tool, which is primarily a semantics-based program slicer that also offers formal verification (generation of verification conditions) and program visualization functionality. The tool allows users to obtain slices using a number of different families of slicing algorithms (precondition-based, postcondition-based, and specification-based), from a correct software component annotated with pre and postconditions (contracts written in JML-annotated Java). Each family in turn contains algorithms of different precision (with more precise algorithms being asymptotically slower). A novelty of our work at the theoretical level is the inclusion of a new, much more effective algorithm for specification-based slicing, and in fact other current work at this level is being progressively incorporated in the tool. The tool also generates (in a step-by-step fashion) a set of verification conditions (as formulas written in the SMT-lib language, which enables the use of different automatic SMT provers). This allows to establish the initial correctness of the code with respect to their contracts. © ACM 2010.

2009

Language Engineering and Rigorous Software Development, International LerNet ALFA Summer School 2008, Piriapolis, Uruguay, February 24 - March 1, 2008, Revised Tutorial Lectures

Authors
Bove, A; Barbosa, LS; Pardo, A; Pinto, JS;

Publication
LerNet ALFA Summer School

Abstract

  • 11
  • 12