Title: Program
1Program Understanding Re- Engineering
The PURe project (2003 - 07) aims at the
development of calculi and techniques for program
understanding and reverse engineering, at both
the algorithmic and the architectural
levels. Research relevance 1. Addresses a
real problem of today's information technology
that of coping with legacy software 2. Is
an oportunity for the application of novel
theoretical results developed in the area of
formal methods and program calculi, to a domain
which has become a serious concern for industry.
Calculi and Applications
- Selected Papers
- Cunha, J. S. Pinto. "Point-free program
transformation". Fundamenta Informaticae, 66(4),
IOS Press, April-May 2005. - T. Alves, P. Silva, J. Visser, J. N. Oliveira.
"Strategic Term Rewriting And Its Application To
A VDM-SL to SQL Conversion". Formal Methods
2005, LNCS, 3582, pp 399-414, Springer-Verlag,
2005. - M. Cruz, L. S. Barbosa and J. N. Oliveira. "From
algebras to objects Generation and composition".
In F. Arbab and H. Kok, editors, Journ. Universal
Computer Science, 11 (10), pp 1580--1612, 2005. - M. Sun, L. S. Barbosa. "Components as
coalgebras The refinement dimension". Theor.
Computer Science, Elsevier, 351, pp 276-294.
2006. - J.N. Oliveira, C.J. Rodrigues. "Pointfree
factorization of operation refinement". LNCS
4085, pp 236-251.Springer-Verlag, 2006. - N. F. Rodrigues, L. S. Barbosa. "Program slicing
by calculation". Journ. Universal Computer
Science, 12 (7), 828-848, 2006. - P. Berdaguer, A. Cunha, H. Pacheco, J. Visser.
- "Coupled Schema Transformation and Data
Conversion For XML and SQL". M. Hanus (Ed.),
PADL 2007 Practical Aspects of Declarative
Languages, LNCS 4354, pp. 290-304,
Springer-Verlag, 2007.
- Main Topics
- Composition and refinement calculi (for data,
algorithms and architectures) - Reverse engineering
- Techinques for system's analysis
- Transformational techniques
- Program visualization and animation
- Project Contributions
- Pointfree program transformation.
- Automated reasoning via pointfree calculi.
- Functional slicing techniques.
- Component identification in source code.
- Data refinement, strategic rewriting, program
transformation, advanced type systems. - Models and calculi for component coordination and
refinement of architectural patterns - Relational and strongly-typed foundations of
database theory. - Spreadsheet understanding.
Follow-Up Initiatives
The OpenCert Initiative certification of
open-source software systems (first international
workshop at ETAPS'2007). New project proposals
PUReM Rigorous Foundations for
Model-Drive Engineering MathIS
Reinvigorating Mathematics for the Information
Society