Research Unit:LABORATÓRIO DE INTELIGÊNCIA ARTIFICIAL E CIÊNCIA DE COMPUTADORES
uID:27 | (L700027) | (LCOMP-Norte-Porto-27)
Group Name/Designation:Formal Models of Computation
Group Reference:RG-COMP-Norte-Porto-27-1036
Principal Investigador:Sabine Babette Broda
Time Interval:(2007-2010)
Location of Group (Host Institution):Universidade do Porto
Keywords:Lambda-calculus; Types; Program Verification; Functional Programming
Funding, source, dates:

From the budget of the former NCC-F group

FCT:

4100 Plurianual 2003

7000 Plurianual 2004

14000 Plurianual 2005

4300 Plurianual 2006

3000 CRUP-British Council Project Type and Effect Systems 2004

4500 CRUP-British Council Project Linearity 2005

+ salaries of team members, University of Porto 2003-2006

+ grants, FCT, Gulbenkian, others 2003-2006

PI and Researchers
Researchers in the Group (Ph.D. Only)
António Mário Silva Marcos Florido
François-Régis Sinot
Sabine Babette Broda
Sandra Maria Mendes Alves
Simão Patrício Melo de Sousa
Other Researchers in the Group (Ph.D. Only)
n/a
Other Researchers in the Group (non Ph.D.)
David Miguel Ramalho Pereira
Hugo Miguel Oliveira Romualdo Simões
Norberto Machado Lopes
Objectives and Achievements
General Objectives

Type-inhabitation: formalisation and further exploitation of the

Formula-Tree proof method in the context of type-inhabitation and

provability in intuitionistic fragments of propositional logics.

A study of the decidability of BB'IW-logic.

Linearisation of the Lambda-calculus: definition of procedures for the

linearisation of the lambda-calculus. Study of extensions of the

linear lambda-calculus based on iteration. For these extensions we

expect to define simpler linearisation procedures and their use in the

study of their computational expressiveness. Study the impact of new

forms of reduction (close reduction) in the expressiveness of the new

linear calculus.

Resource analysis: definition and implementation of new algorithms

based on type and effect systems and abstract interpretation for resource

analysis of functional programs.

Main Achievements

A complete formal definition of the Formula-Tree Proof Method for

investigating type inhabitation (developed at LIACC) together with a

proof of correctness. This method is a valuable tool for research in

the area of inhabitation of simple types, and fostered a large amount

of new results in the last years. One of the

major results was the identification of a fragment of BB'IW-logic for

which decidability was proved.

A characterization of the principal types of BCK-lambda-terms, or

equivalently of the set of theorems of condensed BCK-logic.

A transformation algorithm from terms of the lambda-calculus typed in an

Intersection Type System into terms typable by Simple Types.

Essentially this new algorithm is a linearization of the

lambda-calculus. Related to this previous result a restricted

class of lambda-terms, called weak affine lambda-calculus, was

defined. This has the same good properties of the linear lambda

calculus, while enabling better forms of linearization. Linearization of the

lambda-calculus was an open problem until then and its application to

the translation of term typable in Intersection Types into terms

typable in the Simple Type System has relevant applications in the

simplification of the type inference stage for programming languages.

Definition of a new type system (called System L) consisting of the linear

lambda-calculus with pairs, booleans, natural numbers and an

iterator. Definition of a compilation from terms in

Gödel's T, to terms in system L and a proof that System L has the same expressiveness

as System T.

Linear versions of realistic programming languages have clear advantages

in compilation and type inference. System L is a linear version of a

fundamental calculus for iteration in programming languages: System T.

This work was awarded a Gulbenkian Research Stimulus Prize 2005

(Sandra Alves).

Type and effect systems for resource analysis of functionally-based

programming languages.

The size and cost analysis for a core subset of the Hume language has

been successfully applied to a varity of textbook recursive functional

algorithms.

Productivity
Publications in peer review Journals (3000 ca.)
(Up to a max of 10. Always indicate at the end of the citation, impact factor of the journal (IF=) and number of citations (nº C=). Give title and full citation in original language. DO NOT translate)

Mário Florido e Luís Damas, Linearization of the Lambda-Calculus and

its Relation with Intersection Type Systems. In Journal of Functional

Programming, CUP, 14, 2004. IF=0.930, nC=0

Sandra Alves and Mário Florido, Weak Linearization of the

Lambda-Calculus. Theoretical Computer Science, 342 (1), 79-103,

Elsevier Science, 2005. IF=0.843, nC=0

S. Broda, L. Damas, M. Finger, P. Silva e Silva, The Decidability of a

Fragment of B B' IW-logic. Journal of Theoretical Computer Science,

318, 373-408, 2004. IF=0.843, nC=0

Sabine Broda, Luís Damas, On Long Normal Inhabitants of a

Type. Journal of Logic and Computation, 15, 353-390, 2005. IF=0.840,

nC=0

Sandra Alves and Mário Florido, Linearization by Program

Transformation. Selected papers from the 2003 International Symposium

on Logic-based Program Synthesis and Transformation (LOPSTR 2003),

Lecture Notes in Computer Science 3018, Springer-Verlag,

2004. IF=0.402, nC=0

Other publications International (3000 ca.)
(Include only Books, chapters or full papers published in conference proceedings up to max of 10. Give title and full citation in original language)

Sandra Alves, Maribel Fernandez, Mário Florido and Ian Mackie, The

Power of Linear Functions. In Computer Science Logic (CSL 2006),

Lecture Notes in Computer Science 4207, 119-134, Springer-Verlag,

2006.

Sandra Alves, Maribel Fernandez, Mário Florido and Ian Mackie, The

Power of Closed Reduction Strategies. In Electronic Notes in

Theoretical Computer Science, Elsevier-Science, 2006.

Patents/propotypes (2000 ca.)

Formula-Tree Lab: a tool for using the Formula-Tree Proof Method for

investigating type inhabitation,

2003-2006. http://www.ncc.up.pt/~sbb/FTLab/ftlab

TypeTool: a type inference visualization tool, 2004. http://www.ncc.up.pt/typetool

LINEAR: a linearisation visualisation tool, 2005. http://www.ncc.up.pt/~sandra/linear

Organization of conferences (2000 ca.)

Second International Workshop on Developments in Computational Models

(DCM 2006), Venice, Italy, 2006; Mário Florido.

Internationalization (2000 ca.)
(Collaborative publication, Research, Graduate Training Networks or other forms of participation of the Research Group at the international level)

European Research Network Computability in Europe

Linearity: Programming Languages and Implementations. British Council,

Treaty of Windsor Programme with the King´s College, University of

London

Type and Effect Systems for Automatic Cost Analysis. University of St.

Andrews, Scotland

- foreign links [JP=joint publ, JPGT=joint post-grad training]

École Polytechnique de Paris, Prof. Ian Mackie [JP]

Heriot-Watt University, Prof. Joe Wells

King´s College, University of London. Prof. Maribel Fernandez [JP]

Universidade de S. Paulo, Prof. Marcelo Finger [JP]

University of St. Andrews, Prof. Kevin Hammond [JP,JPGT]

Future Research
Objectives

Relation to long term objectives denoted by

[SR] Software reliability

[SEC] Security

[RI] Reliable Information

[DDD] Distributed, decentralized, dynamic problems

Being a basic research group the subjects studied here are relevant

to most problems in Computer Science.

Unification [SR,SEC,RI]:

Recently several interesting relations between three forms of

unification (higher-order, context and sequence) have been intensively

studied in order to reach general algorithms for decidable fragments.

Our main goals in this area:

- Sequence unification: Definition of a complete and terminating algorithm for a

restricted form of sequence unification. Application of these results to

context and higher-order unification, and to more expressive classes of

the problem are now relevant problems in unification theory.

- Higher-order unification: exploit applications of the Formula-Tree

proof method in finding more expressive sets of solutions for

decidable fragments of higher-order unification, with finite (and

computable) descriptions.

Linear calculi [SR,SEC,RI]:

Linear languages are easier to implement and verify and are

intrinsically reversible, thus good candidates for the basis of reliable

information processing.

Concerning this area, the main goals are:

- Study the possibility of obtaining an efficient implementation of

linear systems defined before based on existing efficient algorithms for

implementing linear calculi.

- Definition of computational complete models based on linearity. More

concretly, can one define a linear version of PCF (Programming

language for Computable Functions)?

- Definition of new polymorphic type systems for linear calculi with

iteration.

- Study the growth of linearised terms. This promises to show an

interesting interplay between time and space in computation.

Program Verification [SR,SEC,RI,DDD]:

Study and implement new verification methods for embedded systems.

Two main frameworks to tackle

the formalisation of the corresponding security and safety properties

will be considered:

- the use of types (such as type-and-effect analysis) as safety evidence;

- a more traditional approach to Proof-Carrying-Code (PCC), to resort to

source-level PCC, to apply Type Inhabitance and techniques based on

temporal logic/automata to improve the proof infrastructure of a PCC platform.

The final stage consists in setting up a working backend platform for

the static security enforcement mechanisms applied to embedded systems.

Funding, source, dates

FCT:

19600 Plurianual 2007

Previous publications in the area

Mário Florido e Luís Damas, Linearization of the Lambda-Calculus and

its Relation with Intersection Type Systems. In Journal of Functional

Programming, CUP, 14, 2004. IF=0.930, nC=0

Sandra Alves and Mário Florido, Weak Linearization of the

Lambda-Calculus. Theoretical Computer Science, 342 (1), 79-103,

Elsevier Science, 2005. IF=0.843, nC=0

Sabine Broda, Luís Damas, On Long Normal Inhabitants of a

Type. Journal of Logic and Computation, 15, 353-390, 2005. IF=0.840,

nC=0

Gilles Barthe, Pierre Courtieu, Guillaume Dufay and Simão Melo De

Sousa, Tool-Assisted Specification and Verification of Typed Low-Level

Languages. Journal of Automated Reasoning, 35 (4), 295-354, 2005,

IF=0.875, nC=2.

Hugo Simoes, Kevin Hammond, Mário Florido and Pedro Vasconcelos. Using

Intersection Types for Cost-analysis of Higher-Order Polymorphic

Functional Programs. Proceedings of TYPES 2006, LNCS, 4502, 221-236,

2006.

Special Requirements

Scholarships for PhD (3) and MSc (3) students.