The Reverse Engineering Notebook, Kenny Wong
@PhDThesis{ wong:reverse,
author = {Kenny Wong},
title = {The Reverse Engineering Notebook},
school = {University of Victoria},
year = {1999},
abstract = {Software must evolve over time or it becomes useless. Much
of software production today is involved not in creating
wholly new code from scratch but in maintaining and
building upon existing code. Much of this code resides in
old legacy software systems.
Unfortunately, these systems are often poorly documented.
Typically, they become more complex and difficult to
understand over time. Thus, there is a need to better
understand existing software systems. An approach toward
this problem would be a first step toward easing changes
and extending the continuous evolution of these systems.
This dissertation addresses the problem by enabling
continuous software understanding. There should be a base
of reverse engineering abstractions that are carried
forward during evolution.
The proposed approach seeks to redocument existing software
structure, capture the analysis decisions made, and support
personal, customizable, and live perspectives of the
software in an online journal called the Reverse
Engineering Notebook.
The premise that software reverse engineering be applied
continuously throughout the lifetime of the software has
major tool design implications. Thus, tool integration,
process, and adoption are key issues for the Notebook. In
particular, data integration requirements, control
integration via pervasive scripting, presentation
integration through the management of views, user roles,
methodology, end user needs, and goal-directed framework
for the Notebook are described.
A major theme of the dissertation is learning from the
successes and failures of studies involving tool
integration and reverse engineering technologies. Case
studies and user experiments helped to evaluate various
aspects of the Notebook approach and provide feedback into
software understanding tool requirements.
},
keywords = {reverse engineering, program understanding, tool
requirements},
class = {Interoperability Reengineering_in_General Using_graphs
Reverse_Engineering_Tools Rig Process_Models
Software_Reverse_Engineering
Intermediate_Representations_of_Source_Code Experiences }
}
An Architecture for Interoperable Program Understanding Tools, Steven Woods and Liam O'Brien and Tao Lin and Keith Gallagher and Alex Quilici
@InProceedings{ woods.obrien.ea:architecture,
author = {Steven Woods and Liam O'Brien and Tao Lin and Keith
Gallagher and Alex Quilici},
title = {An Architecture for Interoperable Program Understanding
Tools},
booktitle = {Euromicro Conference on Software Maintenance and
Reengineering},
year = {1999},
publisher = {Euromicro},
class = {Reengineering_in_General, Interoperability}
}