PREA - Panel on Reverse Engineering and Architectural evolution |
|---|
| Co-located with CSMR 2002 Tuesday 12 March 2002, 14:00 - 16:00 Last updated on 13 February 2002 by Alessandro Maccari . |
Motivation |
Reverse engineering is the process of recovering
software design information (like components and their relationships) and
creating representations of a software system at a high level of abstraction.
Several different approaches have been proposed by the research community.
However, in practice, reverse engineering still presents numerous challenges:
scalability of the techniques, usability of tools, visualisation, dealing
with multiple perspectives, level of abstraction, and so on. In an industrial
context, high level architectural descriptions are an essential means of
support for software system development. Reverse engineering should aim at
recovering architecturally significant views of the system (architecture reconstruction),
which can help keep track of the evolution of software architecture.
Architectural evolution has been a subject of increased research effort in the last few years. It is not always true that the bulk of software development happens during product creation. Systems of all sizes (and especially large and complex ones) require extensive maintenance and evolution effort. So far, the problem of architectural evolution has been approached pragmatically, and industry is still faced with major challenges concerning management of evolution. The problem of architectural evolution is particularly challenging when it concerns product family architecture. In that case, it can happen in two different ways: horizontally, i.e. when the core of the family architecture evolves due to a major common requirement or upgrade; and vertically, i.e. when a new product with new features is added to an existing family. In the case of large and complex product families, both kinds of architectural evolution can happen without control. Possible mistakes in the architecting phase and violations of architectural rules cannot often be detected before the code is written. This justifies the introduction of reverse architecting activities in an industrial context, which should be done using a multi-disciplinary approach. Thus, reverse architecting becomes an enabler technique that allows to extract software architecture and monitor its evolution throughout all phases of the software lifecycle. So far, the reverse engineering and software architecture research communities have been fairly separated. This panel aims to bring together researchers and practitioners from both fields, in order to debate and extend their ideas, and has the long term aim to make the two communities work together on a more regular basis. |
Organizers |
Alessandro Maccari
(Nokia Research Center, Software Architecture Group, Finland) Claudio Riva (Nokia Research Center, Software Architecture Group, Finland) |
Panelists |
Arie van Deursen
(National Research Institute for Mathematics and Computer Science (CWI),
The Netherlands) Chris (X) Verhoef (University of Amsterdam, Programming Research Group, The Netherlands) Claudio Riva (Nokia Research Center, Software Architecture Group, Finland) Derek Rayside (University of Waterloo, Canada) Galal H. Galal (University of North London, UK) |
Program |
To optimise the exposition of participants’ views and to maximise
interaction, the panel adopts a Presentation and Discussion style, whereby
every panelist proposes a short position statement on selected research issues.
At the same time, another panelist acts as an “opponent”, raising doubts
and (friendly) contrasting the presenter’s views. The audience is invited
to raise further issues and ask questions, which can be answered by any panelist.
The presentations should last no more than 15 minutes (including questions),
and cover about half of the panel. The remaining half should be covered
by a constructive discussion, with most of the time reserved for questions
from the audience. Agenda (Tuesday March 12): 14:00 introduction of panelists 14:05 position statements 15:05 debate and questions 15:50 summary 16:00 close |