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