Research Group on Multi-Paradigm Software Technology (MIST)

Project TECFRAM (Slicing Techniques for Multi-Paradigm Programs)

(Técnicas de Fragmentación de Programas Multi-Paradigma)

Project summary

Modern declarative multi-paradigm languages combine features from the best declarative programming paradigms, namely logic, functional, and concurrent programming. In contrast to imperative languages, multi-paradigm languages have a formal and simple semantics. This facilitates the development of a number of formal methods for the analysis, transformation, debugging, optimization and verification of programs.

Unfortunately, current development environments for these languages still lack from several important software tools for the development of large-scale applications (e.g., reactive systems, hardware simulations, etc). For this purpose, powerful debuggers, analyzers, program maintenance tools, reverse engineering tools, testing tools, etc, are required. In order to overcome this problem, we focus on program slicing techniques. Program slices are obtained from a given program according to some criterion (the so called slicing criterion), e.g., a particular occurrence of a program variable in a given sentence. Slicing techniques were originally introduced by Weiser in the context of imperative programming. Since then, they have attracted a lot of interest and many asociated software tools have been developed. In this project, we plan to adapt the slicing techniques to declarative multi-paradigm programs. This will allow us to develop effective software tools to assit the programmer in the development of large-scale applications.

Keywords formal methods in software engineering, multi-paradigm programming, Curry, program slicing, debugging, verification, reactive systems

Project staff

Documentation available (in spanish)

Last update July'2002 #