Program Understanding and Re-engineering: Calculi and Applications
The aim of the PURe research project is to develop calculi for program understanding and re-engineering. Formal techniques that have traditionally been developed for and applied to forward engineering of software, are applied in reverse direction, i.e. for the understanding and re-engineering of existing (legacy) program code. Read more.
Research Team
PURe-related research opportunities (at the undergraduate and post-graduate levels) are announced here.
Goals
The project aims to produce relevant contributions in the following areas:
- Classification (of algorithms, components and architectures)
- Refinement calculi (for data structures, algorithms and components)
- Complexity inference
- Reverse engineering techniques and calculi
- Technology of visual animation tools for the developed calculi
Events
- PUReCafe: weekly scientific colloquium. Local and invited speakers cover a wide range of subjects and spark lively debate.
- First PURe Workshop and other events.
Results
More information can be found in the Y1 and Y2 Progress Reports.
Selected subprojects
- Camila: VDM-like formal specification inside the functional programming language Haskell.
- VooDooM: Analysis, transformation, and translation of VDM-SL specifications.
- GenericSlicing: development of generic slicing techniques.
- PointFree: development of tools and libraries to program and reason in the point-free style of programming.
- 2LT: Two-level transformation, for data mappings, format evolution, query migrations, and more.
Forthcoming projects
Project info
Links to Related Projects/Sites