Sortie
We are currently soliciting developers of state of the art tools to join existing tool developers from research and industry to participate in a collaborative tool demonstration. Tools are being used in combination to solve a significant reverse engineering task on a legacy software system, called SORTIE. Initial results from a preliminary collaborative effort were presented at a working session at WCRE'2001, which was held in Stuttgart from Oct 2-5, 2001. Initial results have been posted on the Results page of this site. See the Case Study page for more information on SORTIE.
Background
There are three main motivating factors for this demonstration.
Evidence to Encourage Tool Adoption
Research has produced many significant advances in compilers, web-based interfaces, visualizations, impact analysis, clone detection, object identification and slicing algorithms, yet many of the mainstream tools in use today are not radically different from tools that have been available for the past two decades. Indeed, many reverse engineering and reengineering projects still rely on fully manual methods for documenting and redesigning legacy code. One reason for this reticence is the lack of empirical evidence to demonstrate the benefits of the innovations and the suitability of the tools for various problems and work environments. Open and public demonstrations of tools, such as this one, are needed to provide such evidence.
Exploration of Tool Interactions
Although tools are designed to solve related tasks in a software maintenance project, they are usually
researched, developed and evaluated in isolation from one another. There has been little work examining how the tools work in tandem and how they should interoperate from not only a technical perspective, but also
from an end user's perspective. This collaborative tools demonstration also seeks to remedy this shortfall. Tool designers and potential end users will be able to observe how the best tools and technologies available can be combined to solve reengineering tasks.
Promoting Tool Interoperability
This tool demonstration promotes tool interoperability in two ways: (1) by providing a forum for collaboration; and (2) by promoting the use of GXL, the emerging standard exchange format.
Due to the nature of this evaluation, tool designers will need to share data and results with one another, which in turn will encourage them to critically examine interoperability with other tools. It is hoped that by participating, tool designers will move towards a common understanding on how complementary tools can be used to solve a reengineering task. We also expect that this demonstration will also lead to suggestions for advancing interoperability, such as component-based design, mechanisms for sharing control between tools, the improvements to the standard exchange format and so on.
Goals
To improve tools and develop better ones by comparing and evaluating existing tools.
To provide an opportunity for collaboration and community-building.
To learn more about the complementary nature of various tools.
To acquire experience with tool interoperability necessary to design an infrastructure for community-wide sharing of tools.
To improve tool evaluation techniques.
To encourage the use of GXL.
Re-architecting SORTIE
SORTIE is an established research tool for modeling forest succession. It is actively used in British Columbia, Canada and in the northeastern U.S. to manage forests. The program consists of approximately 28 KLOC of C++ code with sparse documentation. The system has evolved over a long period of time leading to a very brittle and complex architecture.
During the past six months, tool teams have been collaborating to analyze the SORTIE system. The first task was to recover the existing architecture of SORTIE.
Preliminary results from this part of the project are described on the Results page. Many of the teams are still working on this first phase. The next phase will be to propose a new architecture that is better suited to meeting requirements for future changes.
As part of a separate parallel project, a graduate student from the University of Victoria has been reengineering and re-architecting the SORTIE system using predominantly manual methods. She presented her findings and compared her results at the WCRE'2001 workshop. She will be continuing in this role and is currently proposing a new architecture for SHriMP.
More details on the reverse engineering tasks to be considered are also available.
The collaborative demonstration is a part of a series of structured tool demonstrations. This phase of the demonstration will take place over the next six or so months. The results of this phase of the tools demonstration may be presented in the Spring at the IWPC'2001 workshop in a working session (if our proposal for a working session is accepted). We will compare results from the collaborative effort and the parallel manual project.
Organizers
Margaret-Anne Storey
University of Victoria
Susan Elliott Sim
University of Toronto
Kenny Wong
University of Alberta

