Coordinated in:

Topic(s):

Call for proposal:

Funding scheme:

MC-IOF - International Outgoing Fellowships (IOF)

Objective

"Eliminating errors early in the software-design life cycle is crucial to reduce the tremendous societal cost represented by defective software. Modern programming languages offer a variety of techniques for ensuring, at design time, the correctness of software systems with respect to the desired behaviors. However, these techniques do not consider usually the software aspects related to programs resource consumption, in terms of execution time, memory space, energy consumption, etc. So, new contributions and novel challenging ideas are needed.The present project aims at filling this gap achieving three main goals:1-Showing that a concrete methodology combining the resource management facilities offered by light linear type systems and by the ideas of implicit computational complexity, with the features usually offered by practical programming languages provides extremely accurate information about the behavior of concrete programs and their resource consumption.2-Developing a practical programming language integrating the resulting methodology in the form of a precise type system where types contain information, in the form of dependent types, about the resources needed by programs during their execution and where type checking a program will naturally corresponds to exhibit a certification of its resource consumption.3-Demonstrating the successfulness of the language by implementing concrete resource-sensible applications. This will be done by targeting concrete examples taken from compiler correctness and component-based programming. In particular, in the latter, the modularity offered by the use of type systems will be useful to express resource consumption constraints per component, and to combine them over compositions of components.The broader interest of this proposal lies in the opportunities it will supply to improve the software quality by eliminating errors, usually difficult to fix, related to programs resource consumption."