Skip to main content
European Commission logo print header

Semantics-based Program Manipulation Techniques

Cel

The major goal of SEMANTIQUE is to establish, by a mixture of theoretical investigation and practical experiments, techniques which will allow the automation of the software manufacturing process. Topics of interest to members of the Group include semantic foundations of program analysis and manipulation, program analysis, program generation and advanced implementation techniques.
Technology is being developed for manufacturing software under human guidance, but with minimal human involvement, with the aim of moving away from today's way of treating programs one at a time to treating them as anonymous members of classes, subject to mechancial transformation, optimization and other adaptations.

Previous work on program analysis has emphasized the abstract interpretation approach. This work has been important for providing frameworks for correctness proofs and for understanding the relationships between approaches. Unfortunately the higher order analyses have proved difficult to implement efficiently. Over the last 2 years, there has been a definite shift in the work to using nonstandard type inference systems for describing analyses; the implementation route for such analyses has been well studied. One tangible result of this work has been a fourfold increase in speed for Similix by reengineering the analyses to use constraint solving algorithms. Several new analysis techniques have been developed for analysis of concurrent languages such as Linda, Gamma and Concurrent ML. Other approaches are now being considered for program generation, as well as partial evaluation. In particular, a deeper understanding of Turchin's notion of supercompilation and its relationship to partial evaluation has been developed. A partial evaluator for a large subset of the C programming language has been implemented.
ACTIVITIES

The Group's expertise ranges across a broad spectrum from pure theory through to extensive practical experience of implementing semantics-based program manipulation tools. Hitherto, the main emphasis of our work has been on the development of techniques for static analysis of programs based on abstract interpretation and program generation using partial evaluation. Over the last year, however, much of our work on program analysis has been based on non-standard type inference and we are beginning to look at other approaches to program generation (eg Turchin's notion of supercompilation). We have also devoted more effort on non-functional languages, for example analysis of CML (Concurrent ML) and partial evaluation of C.

POTENTIAL

Semantics-based program analysis is at the interface between theory and practice. Since SEMANTIQUE is a Basic Research Working Group, the majority of our results take the form of scientific papers rather than artefacts. Nevertheless, our work on program generation is tested by means of prototype programs and the same is now true of our program analysis work in the context of the Glasgow Haskell Compiler. Similix and the Haskell compiler have been widely distributed. There are signs of growing industrial interest in the partial evaluation work.

Temat(-y)

Data not available

Zaproszenie do składania wniosków

Data not available

System finansowania

Data not available

Koordynator

IMPERIAL COLLEGE OF SCIENCE, TECHNOLOGY AND MEDICINE
Wkład UE
Brak danych
Adres
Queens Gate 180
SW7 2BZ LONDON
Zjednoczone Królestwo

Zobacz na mapie

Koszt całkowity
Brak danych

Uczestnicy (5)