Graphical Support for Debugging Parallel Programs (extended abstract), Appelbe, William F. and Kraemer, Eileen and Lakshmanan, Bala and Stasko, John T. and Wehrli, Joseph F.
@InProceedings{ appelbe.kraemer.ea:graphical,
author = {Appelbe, William F. and Kraemer, Eileen and Lakshmanan,
Bala and Stasko, John T. and Wehrli, Joseph F.},
title = {Graphical Support for Debugging Parallel Programs
(extended abstract)},
booktitle = {Proceedings of the 1993 ACM/ONR Workshop on Parallel and
Distributed Debugging, San Diego, CA},
year = {1993},
pages = {172-174},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Utilizing Program Visualization and Animation Techniques to Aid Parallel Program Development and Debugging (extended abstract), Appelbe, William F. and Stasko, John T.
@InProceedings{ appelbe.stasko:utilizing,
author = {Appelbe, William F. and Stasko, John T.},
title = {Utilizing Program Visualization and Animation Techniques
to Aid Parallel Program Development and Debugging (extended
abstract)},
booktitle = {Proceedings of the 1991 ACM/ONR Workshop on Parallel and
Distributed Debugging, Santa Cruz, CA},
year = {1991},
pages = {207-209},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Assessing Program Visualization Systems as Instructional Aids, Badre, Albert and Beranek, Margaret and Morris, J. Morgan and Stasko, John T.
@TechReport{ badre.beranek.ea:assessing,
author = {Badre, Albert and Beranek, Margaret and Morris, J. Morgan
and Stasko, John T.},
title = {Assessing Program Visualization Systems as Instructional
Aids},
institution = {Graphics, Visualization, and Usability Center, Georgia
Institute of Technology, Atlanta, GA},
year = {1991},
type = {Technical Report},
number = {GIT-GVU-91-23},
month = oct,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
http = {http://www.cc.gatech.edu/gvu/softviz/empir/empir.html},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Empirical_Studies_of_Software_Visualization}
}
Assessing Program Visualization Systems as Instructional Aids, Badre, Albert and Beranek, Margaret and Morris, J. Morgan and Stasko, John T.
@InProceedings{ badre.beranek.ea:assessing*1,
author = {Badre, Albert and Beranek, Margaret and Morris, J. Morgan
and Stasko, John T.},
title = {Assessing Program Visualization Systems as Instructional
Aids},
booktitle = {Computer Assisted Learning, ICCAL '92, Wolfville, Nova
Scotia, Canada},
year = {1992},
editor = {Ivan Tomek},
pages = {87-99},
publisher = {Lecture Notes in Computer Science},
serie = {602},
month = jun,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Empirical_Studies_of_Software_Visualization}
}
The Nature of Semi-Formal Information in Domain Models, Ted J. Biggerstaff
@TechReport{ biggerstaff:nature,
author = {Ted J. Biggerstaff},
title = {The Nature of Semi-Formal Information in Domain Models},
institution = {MCC},
year = {1988},
type = {Technical Report},
number = {STP-289-88},
month = sep,
abstract = {This position paper describes the nature and importance of
informal and semi-formal information in the understanding,
interpretation and reuse of large complex programs. The
understanding of large, complex, existing programs is
sometimes called the "dusty deck" problem.
The emphasis of this research is on how one might create a
model of a domain that would help in the job of
understanding and eventually reusing large scale designs
from large, comple and generally unmastered existing
programs. The role of informal and semi-formal information
is central to this domain model.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Greater Understanding Through Maintainer Driven Traceability, C. Boldyreff and E.L. Burd and R.M. Hather and M. Munro and E.J. Younger
@InProceedings{ boldyreff.burd.ea:greater,
author = {C. Boldyreff and E.L. Burd and R.M. Hather and M. Munro
and E.J. Younger},
title = {Greater Understanding Through Maintainer Driven
Traceability},
booktitle = {WPC~'96: Proceedings of the IEEE Fourth Workshop on
Program Comprehension, {\rm (Berlin, Germany; March 29-31,
1996)}},
year = {March 1996},
publisher = {IEEE Computer Society Press},
class = {Software_Reverse_Engineering, Reverse_Specification,
Requirement_Tracability }
}
Creating Specifications from Code: Reverse-engineering Techniques , P.T. Breuer and K. Lano
@Article{ breuer.lano:creating,
author = { P.T. Breuer and K. Lano },
title = { Creating Specifications from Code: Reverse-engineering
Techniques },
journal = {Journal of Software Maintenance: Research and Practice},
volume = { 3 },
year = { 1991 },
pages = { 145-162 },
abstract = { },
class = {Software_Reverse_Engineering, Reverse_Specification }
}
Reverse Engineering and Data Flow Diagrams in ADA Environment, G. Canfora and Aniello Cimitile and De Carlini, Ugo
@Article{ canfora.cimitile.ea:reverse,
author = {G. Canfora and Aniello Cimitile and De Carlini, Ugo},
title = {Reverse Engineering and Data Flow Diagrams in ADA
Environment},
journal = {Microprocessing and Microprogramming},
year = {1990},
volume = {30},
pages = {357-364},
class = {Software_Reverse_Engineering, Reverse_Specification,
Model_Generating}
}
Data Flow Diagrams: Reverse Engineering Production and Animation, G. Canfora and L. Sansone and G. Visaggio
@InProceedings{ canfora.sansone.ea:data,
author = {G. Canfora and L. Sansone and G. Visaggio},
title = {Data Flow Diagrams: Reverse Engineering Production and
Animation},
pages = {366-375},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1992},
year = {1992},
publisher = {IEEE Computer Society Press},
month = nov,
abstract = {The paper puts forward the use of interactive animation
techniques as a support to reverse engineering processes
oriented to the synthesis of semantic abstractions.
Starting from Data Flow Diagrams, a formal model - called
Dynamic Data Flow Diagrams (DDFDs) - has been defined,
which can be used for the production of executable models
of a software system. A strategy for the DDFD interactive
animation is also put forward. Finally, the paper describes
a prototype tool for (i) the production of the Dynamic Data
Flow Diagram which models an ADA system starting from the
analysis of the code and (ii) the interactive animation of
such model according to the suggested strategy.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation}
}
Data Flow Diagrams: Reverse Engineering Production and Animation, G. Canfora and L. Sansone and G. Visaggio
@InProceedings{ canfora.sansone.ea:data*1,
author = {G. Canfora and L. Sansone and G. Visaggio},
title = {Data Flow Diagrams: Reverse Engineering Production and
Animation},
booktitle = {CSM'92: Proceedings of the 1992 Conference on Software
Maintenance, {\rm (Orlando, Florida; November 9-12, 1992)}},
year = {November 1992},
pages = {366-375},
publisher = {IEEE Computer Society Press (Order Number 2980)},
abstract = {PITS approach to mapping DFDs to graphics. Interactive
process. Good introduction on used and motivation for RE.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging }
}
Domain Analysis and Reverse Engineering, Jean-Marc DeBaud and Bijith Moopen and Spencer Rugaber
@InProceedings{ debaud.moopen.ea:domain,
author = {Jean-Marc DeBaud and Bijith Moopen and Spencer Rugaber},
title = {Domain Analysis and Reverse Engineering},
pages = {326-335},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1994},
year = {1994},
publisher = {IEEE Computer Society Press},
month = sep,
abstract = {Current reverse engineering technology is typically based
on program analysis methods such as parsing and data flow
analysis. As such, it is limited in what it can accomplish.
Knowledge of the applicaton domain containing a program can
help overcome this limit and aid the comprehension process.
This paper discusses the relationship of application domain
analysis and reverse engineering. Two case studies are
presented. The first describes how domain knowledge,
expressed as an object-oriented framework, can aid the
reverse engineering process for a well-understood domain.
The second studies how reverse engineering can be used to
build a domain model. Issues raised by the confluence of
domain analysis and reverse engineering are discussed, and
implications on future work in the area are suggested.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
A Software Re-engineering Method Using Domain Models, Jean-Marc DeBaud and Spencer Rugaber
@InProceedings{ debaud.rugaber:software,
author = {Jean-Marc DeBaud and Spencer Rugaber},
title = {A Software Re-engineering Method Using Domain Models},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1995},
address = {Opio (Nice), France},
year = {1995},
month = oct,
pages = {204-213},
abstract = {Current software re-engineering technology is typically
based on program analysis methods such as parsing and data
flow analysis. This is inadequate for two reasons. First,
such methods inherently fail to capture the context or
purpose of the program. Second, the results of the program
comprehension are not directly usable in program evolution.
In this paper, we introduce a method that addresses both of
these problems. We use a domain model to understand the
context of a program and an object-oriented framework to
record that understanding. The main step of this method
consists of the construction of an executable domain model
whose scope covers a family of target programs. A program
is then reverse engineered using the domain model both as a
guide and as a recording medium. In the last step,
developers re-engineer the target artifact using its
abstract domain-driven representation. We present a
thorough example to illustrate this approach. Issues raised
by the confluence of domain analysis and representation,
reverse engineering, and artifact evolution are discussed.
Implications on future work in the area are suggested. },
keywords = {Program re-engineering, domain analysis, reverse
engineering, program evolution, program understanding,
reuse infrastructure, software architecture,
object-oriented framework.},
ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/repwrt.ps}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
DARE: Domain-Augmented ReEngineering, Jean-Marc DeBaud
@InProceedings{ debaud:dare,
author = {Jean-Marc DeBaud},
title = {DARE: Domain-Augmented ReEngineering},
booktitle = {Proceedings of the Fourth Working Conference on Reverse
Engineering},
publisher = {IEEE Computer Society Press Los Alamitos California},
year = {1997},
editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
abstract = {We present in this article the principles of a
domain-augmented reengineering approach (DARE) as well as
our initial experience applying sections of it. The
principal characteristic of the DARE approach is its focus
upon the computational context of a software system i.e.
the business or scientific domain to which it relates. This
context information is used both to drive the program
understanding as well as for the program evolution phases
of reengineering. In DARE a domain model (concepts and
associated relationships) serves as the structure denoting
context and is used for two purposes. First a dictionary of
possible domain concept realizations is populated. Second a
set of mappings from the domain to an existing tool or
library related to the domain is defined. Reengineering
then proceeds as follows: First a legacy system is analyzed
and annotated with the dictionary of domain concept
realizations. Then these matched concepts are transitioned
to the tool or library using the predefined mapping set.
Program evolution can then take place at the level of the
tool or library. Using our initial experience we discuss
DARE present an analysis and suggest implications for
future work.},
class = {Software_Evolution Software_Reverse_Engineering
Model_Generating Reverse_Specification Reverse_Design
Domain_Analysis Process_Models_for_Reverse_Design
Knowledge-Based_Concept_Assignmen }
}
Lessons from a Domain-Based Reengineering Effort, Jean-Marc DeBaud
@InProceedings{ debaud:lessons,
author = {Jean-Marc DeBaud},
title = {Lessons from a Domain-Based Reengineering Effort},
booktitle = {Proceedings of Working Conference on Reengineering},
year = {1996},
abstract = {We present in this paper the lessons and insights learned
from of a domain-centered reengineering effort. Using a
method we developed in a previous work, we set about to
understand and transition a complete legacy system from
COBOL to an executable domain model. Our work suggests that
a domain-based approach is very promising but a number of
issues remain to be better understood. Among these are
questions about domain completeness, scoping, interleaving
and evolution; concept matching at the granularity of both
the programs' architecture and the details of the
source-code; thoroughness and representation of the legacy
programs coverage, as well as the problems inherent to the
transition of a multi-programs system. We discuss these
issues in details using examples. Implications on future
work in the area are suggested.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
A Visual Execution Model for Ada Tasking, Laura K. Dillon
@Article{ dillon:visual,
key = {Dillon, 1993},
author = {Laura K. Dillon},
title = {A Visual Execution Model for Ada Tasking},
journal = { ACM Transactions on Software Engineering and
Methodology},
year = {1993},
volume = {2},
number = {4},
pages = {311-345},
month = oct,
abstract = {A visual execution model for Ada tasking can help
programmers attain a deeper understanding of the tasking
semantics. It can illustrate subtleties in semantic
definitions that are not apparent in natural language
descriptions of Ada tasking, as well as the consequences of
choices made in the language design. We describe a contour
model of Ada tasking that depicts asynchronous tasks
(threads of control), relationships between the
environments in which tasks execute, and the manner in
which tasks interact. The use of this high-level execution
model makes it possible to see what happens during
execution of a program. The paper provides an introduction
to the contour model of Ada tasking and demonstrates its
use.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
A Framework for the Automated Drawing of Data Structure Diagrams, Chen Ding and Prabhaker Mateti
@Article{ ding.mateti:framework,
author = {Chen Ding and Prabhaker Mateti},
title = {A Framework for the Automated Drawing of Data Structure
Diagrams},
journal = {IEEE Transactions on Software Engineering},
year = {1990},
volume = {16},
number = {5},
pages = {543-557},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging}
}
Abstracting the Logical Processing Life Cycle for Entities Using the RECAST method, Helen M. Edwards and Malcolm Munro
@InProceedings{ edwards.munro:abstracting,
author = {Helen M. Edwards and Malcolm Munro},
title = {Abstracting the Logical Processing Life Cycle for Entities
Using the RECAST method},
pages = {162--171},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1993},
year = {1993},
publisher = {IEEE Computer Society Press},
month = sep,
abstract = {The Reverse Engineering into CASE Technology method
(RECAST) takes the source code for an existing COBOL system
and derives a no-loss representation of the system
documented in a Structured System Analysis and Design
Method (SSADM) format. One key element of the method is the
abstraction of logical processing that affects the
individual entities of the system. For each entity this
processing is extracted from the physical implementation of
the system using a program slicing technique and is then
transformed into a logical representation (as an Entity
Life History) using a set of translation and transformation
rules. This paper describes how the abstraction is achieved
and illustrates it with an example that was derived from an
existing operational system that has been used as a case
study for the method.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Model_Generating}
}
RECAST: reverse engineering from COBOL to SSADM specification, H. M. Edwards and M. Munro
@InProceedings{ edwards.munro:recast,
author = {H. M. Edwards and M. Munro},
title = {{RECAST}: reverse engineering from {COBOL} to {SSADM}
specification},
pages = {499--508},
booktitle = {Proceedings of the 15th International Conference on
Software Engineering },
year = {1993},
publisher = {IEEE Computer Society Press},
month = apr,
abstract = {The Reverse Engineering into CASE Techology (RECAST) takes
the source code for an existing COBOL system and derives a
no-loss representation of the system documented in an
Structured Systems Analysis and Design Method (SSADM)
format. This representation of the system is derived
through the use of a series of transformations. This paper
describes the environment within which RECAST has been
developed, outlines the stages and steps of the RECAST
method and discusses the use of software support tools. An
overview is given of a case study that has been carried out
for a live system.},
class = {Software_Reverse_Engineering, Reverse_Specification, Model
Generating}
}
RECAST: reverse engineering from COBOL to SSADM specifications, H. Edwards and M. Munro
@InProceedings{ edwards.munro:recast*1,
author = {H. Edwards and M. Munro},
title = {{RECAST}: reverse engineering from {COBOL} to {SSADM}
specifications},
booktitle = {Proceedings of the 1st Working Conference on Reverse
Engineering },
pages = {44--53},
year = {1993},
note = { Describes methodology and tooling for the extraction of
SSADM diagrams from COBOL programs},
class = {Software_Reverse_Engineering, Reverse_Specification, Model
Generating}
}
Toolgest\utzte Codeanalyse von Telekommunikationssoftware\ in Chill, Thomas Gen\ssler and Oliver Ciupke
@TechReport{ genler.ciupke:toolgestutzte,
author = {Thomas Gen{\ss}ler and Oliver Ciupke},
title = {Toolgest{\"u}tzte {C}odeanalyse von
{T}elekommunikationssoftware\ in {C}hill},
institution = {Forschungszentrum Informatik},
year = {1997},
type = {Systemdokumentation und {P}rojektbericht},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Information_Visualization_and_Visualization_of_Large_Systems}
}
Falcon: On-line Monitoring and Steering of Large-Scale Parallel Programs, Gu, Weiming and Eisenhauer, Greg and Kraemer, Eileen and Schwan, Karsten and Stasko, John T. and Vetter, Jeffrey and Mallavarupu, Nirupama
@TechReport{ gu.eisenhauer.ea:falcon,
author = {Gu, Weiming and Eisenhauer, Greg and Kraemer, Eileen and
Schwan, Karsten and Stasko, John T. and Vetter, Jeffrey and
Mallavarupu, Nirupama},
title = {Falcon: On-line Monitoring and Steering of Large-Scale
Parallel Programs},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1994},
type = {Technical Report},
number = {GIT-CC-94-21},
month = apr,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Falcon: On-line Monitoring and Steering of Large-Scale Parallel Programs, Gu, Weiming and Eisenhauer, Greg and Kraemer, Eileen and Schwan, Karsten and Stasko, John T. and Vetter, Jeffrey and Mallavarupu, Nirupama
@InProceedings{ gu.eisenhauer.ea:falcon*1,
author = {Gu, Weiming and Eisenhauer, Greg and Kraemer, Eileen and
Schwan, Karsten and Stasko, John T. and Vetter, Jeffrey and
Mallavarupu, Nirupama},
title = {Falcon: On-line Monitoring and Steering of Large-Scale
Parallel Programs},
booktitle = {Proceedings of the 5th Symposium of the Frontiers of
Massively Parallel Computing, McLean, VA,},
year = {1995},
pages = {422-429},
month = feb,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Reverse Engineering Requirements for Process-Control Software, Holly Hildreth
@InProceedings{ hildreth:reverse,
author = {Holly Hildreth},
title = {Reverse Engineering Requirements for Process-Control
Software},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1994},
year = {1994},
pages = {316-325},
publisher = {IEEE Computer Society Press},
month = sep,
abstract = {A method of reverse engineering requirements for
process-control system software is presented along with a
domain-specific functional structure. Techniques are
demonstrated on the executable pseudocode of a commercial
avionics control syhstem. Resulting requirements are
expressed as a state-based model of externally visible
behavior specified completely in the language of
process-control.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Animation Support in a User Interface Toolkit: Flexible, Robust and Reusable Abstractions, Hudson, Scott E. and Stasko, John T.
@InProceedings{ hudson.stasko:animation,
author = {Hudson, Scott E. and Stasko, John T.},
title = {Animation Support in a User Interface Toolkit: Flexible,
Robust and Reusable Abstractions},
booktitle = {Proceedings of the 1993 ACM Symposium on User Interface
Software and Technology, Atlanta, GA},
year = {1993},
pages = {57-67},
organization = {ACM},
month = nov,
abstract = {Animation can be a very effective mechanism to convey
information in visualization and user interface settings.
However, integrating animated presentations into user
interfaces has typically been a difficult task since, to
date, there has been little or no explicit support for
animation in window systems or user interface toolkits.
This paper describes how the Artkit user interface toolkit
has been extended with new animation support abstractions
designed to overcome this problem. These abstractions
provide a powerful but convenient base for building a range
of animations, supporting techniques such as simple
motion-blur, "squash and stretch", use of arcing
trajectories, anticipation and follow through, and "slow-in
/ slow-out" transitions. Because these abstractions are
provided by the toolkit they are reusable and may be freely
mixed with more conventional user interface techniques. In
addition, the Artkit implementation of these abstractions
is robust in the face of systems (such as the X Window
System and Unix) which can be ill-behaved with respect to
timing considerations.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Animation_in_User_Interfaces}
}
Animation Support in a User Interface Toolkit: Flexible, Robust and Reusable Abstractions, Hudson, Scott E. and Stasko, John T.
@TechReport{ hudson.stasko:animation*1,
author = {Hudson, Scott E. and Stasko, John T.},
title = {Animation Support in a User Interface Toolkit: Flexible,
Robust and Reusable Abstractions},
institution = {Graphics, Visualization, and Usability Center, Georgia
Institute of Technology},
year = {1993},
type = {Technical Report},
number = {GIT-GVU-93-17},
address = {Atlanta, GA},
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
http = {http://www.cc.gatech.edu/gvu/softviz/uianim/uianim.html},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Animation_in_User_Interfaces}
}
Domain Modeling for Software Engineering, Neil Iscoe and Gerald B. Williams and Guillermo Arango
@InProceedings{ iscoe.williams.ea:domain,
author = {Neil Iscoe and Gerald B. Williams and Guillermo Arango},
title = {Domain Modeling for Software Engineering},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1991},
year = {1991},
pages = {340-343},
organization = {IEEE},
publisher = {IEEE Computer Society Press},
abstract = {Writing an application program requires an understanding
of both programming knowledge and application domain
knowledge. Programming knowledge is relatively well
understood. It is formal, modeled in a variety of ways,
explicit enough to be taught to novices, and general enough
to apply across many domains. Domain knowledge - although
it clearly exists in the minds of domain experts - it is
not so well understood. It is usually: 1) informal rather
than formal 2) implicit rather than explicit 3) ad hoc
instead of general purpose 4) modeled only incompletely and
indirectly in terms of problem-specific languages.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Using Visualization for Architectural Localization and Extraction, Dean Jerding and Spencer Rugaber
Available as
postscript.
@InProceedings{ jerding.rugaber:using,
author = {Dean Jerding and Spencer Rugaber},
title = {Using Visualization for Architectural Localization and
Extraction},
booktitle = {Proceedings of the Fourth Working Conference on Reverse
Engineering},
publisher = {IEEE Computer Society Press Los Alamitos California},
year = {1997},
editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
chapter = {},
pages = {},
address = {},
month = {},
url = {http://www.cc.gatech.edu/morale/papers/isvis_wcre.ps},
abstract = { Understanding the architecture of a program requires
determining both the major components into which the system
is broken and the ways in which the components interact to
accomplish the program's goals. Both static and dynamic
analyses of the software can aid in obtaining this
understanding. This paper describes an analysis technique
for gaining such understanding and a visualization tool
called ISVis that supports it. The technique is applied to
the problem of enhancing the Mosaic web browser by both
visualizing its architecture and finding the components of
the browser into which an enhancement should be inserted.
},
keywords = {software architecture extraction program visualization
dynamic analysis program understanding},
note = {},
class = {Visualization_for_Program_Understanding_and_Debugging
Software_Reverse_Engineering Software_Animation
Reverse_Specification Reverse_Design
Fundamental_Methods_in_Reverse_Design
Recovery_of_Software_Architecture Dynamic_Analysis }
}
The Information Mural: A Technique for Displaying and Navigating Large Information Spaces, Dean F. Jerding and John T. Stasko
@Article{ jerding.stasko:information,
author = {Dean F. Jerding and John T. Stasko},
title = {The Information Mural: A Technique for Displaying and
Navigating Large Information Spaces},
journal = {Proceedings of the IEEE Symposium on Information
Visualization},
year = {1995},
month = nov,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Visualizing_Object-Oriented_Programs,
Information_Visualization_and_Visualization_of_Large_Systems}
}
Using Visualization to Foster Object-Oriented Program Understanding, Jerding, Dean F. and Stasko, John T.
@TechReport{ jerding.stasko:using,
author = {Jerding, Dean F. and Stasko, John T.},
title = {Using Visualization to Foster Object-Oriented Program
Understanding},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1994},
type = {Technical Report},
number = {GIT-GVU-94-33},
month = jul,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging,
Visualizing_Object-Oriented_Programs}
}
The Use of Application Domain Knowledge for Effective Software Maintenance, V. Karakostas
@InProceedings{ karakostas:use,
author = {V. Karakostas},
title = {The Use of Application Domain Knowledge for Effective
Software Maintenance},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1990},
year = {1990},
pages = {170-176},
organization = {IEEE},
publisher = {IEEE Computer Society Press},
abstract = {In a way similar to activities like specification and
design effective maintenance of software requires an
understanding of the application domain. Our approach is
based on the assumption that a model which links the
concepts of the application domain to their implementations
will assist in tracing the changing user requirements in
the software system and in identifying what is to be
changed and why, what needs to be carried out in order to
implement the change and how the existing system will be
affected as a result. This paper discusses the application
of the approach to the maintenance of an object-oriented
programming environment.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
The 'Catch 22' of Reengineering, Wojtek Kozaczynski
@InProceedings{ kozaczynski:catch-22,
author = {Wojtek Kozaczynski},
title = {The {'Catch 22'} of Reengineering},
booktitle = {Proceedings of the 12th International Conference on
Software Engineering },
pages = {119},
month = mar,
year = {1990},
abstract = {In the software reengineering discussion it is assumed
that the system can be understood on the following four
levels: the programming language level, the control
structure level, the generic algorithm level, and the
problem domain level. It is noted that it is now possible
to build tools which understand systems on the first three
levels. There have been considerable advances in system
data analysis that will lead directly to identification of
abstract data types and objects. It is suggested that
future progress will critically depend on the ability to
represent and reason about the problem domain. The
reengineering systems of tomorrow will require knowledge
not only of software engineering, but more important, of
particular problem domains.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Issues in Visualization for the Comprehension of Parallel Programs, Eileen Kraemer and John T. Stasko
@InProceedings{ kraemer.stasko:issues,
author = {Eileen Kraemer and John T. Stasko},
title = {Issues in Visualization for the Comprehension of Parallel
Programs},
booktitle = {Third Workshop on Program Comprehension},
publisher = {IEEE Computer Society Press},
address = {Washington, D.C.},
month = nov,
year = {1994},
pages = {116-127},
abstract = {Parallel and distributed computers are becoming more
widely used. Thus, the comprehension of parallel programs
is more challenging than understanding serial programs
because of the issues of concurrency, scale,
communications, shared ressources, and shared state. In
this article, we argue that the use of visualization and
animations of programs can be an invaluable asset to
program comprehension. We present example problems and
visualizations, showing how graphical displays can assist
program understanding. We also describe the Animation
Choreographer, a tool that helps programmers better
comprehend the temporal characteristics of their
programs.},
ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/vis.parallel.ps}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Toward Flexible Control of the Temporal Mapping from Concurrent Program Events to Animations, Kraemer, Eileen and Stasko, John T.
@InProceedings{ kraemer.stasko:toward,
author = {Kraemer, Eileen and Stasko, John T.},
title = {Toward Flexible Control of the Temporal Mapping from
Concurrent Program Events to Animations},
booktitle = {Proceedings of the 8th International Parallel Processing
Symposium (IPPS '94), Cancun, Mexico},
year = {1994},
pages = {902-908},
month = apr,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
The Visualization of Parallel Systems: An Overview, Kraemer, Eileen and Stasko, John T.
@Article{ kraemer.stasko:visualization,
author = {Kraemer, Eileen and Stasko, John T.},
title = {The Visualization of Parallel Systems: An Overview},
journal = {Journal of Parallel and Distributed Computing},
year = {1993},
volume = {18},
number = {2},
pages = {105-117},
month = jun,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Empirically Evaluating the Use of Animations to Teach Algorithms, Lawrence, Andrea and Badre, Albert and Stasko, John T.
@TechReport{ lawrence.badre.ea:empirically,
author = {Lawrence, Andrea and Badre, Albert and Stasko, John T.},
title = {Empirically Evaluating the Use of Animations to Teach
Algorithms},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1994},
type = {Technical Report},
number = {GIT-GVU-94-07},
month = mar,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
http = {http://www.cc.gatech.edu/gvu/softviz/algoanim/algoanim.html}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation,
Empirical_Studies_of_Software_Visualization}
}
Empirically Evaluating the Use of Animations to Teach Algorithms, Lawrence, Andrea and Badre, Albert and Stasko, John T.
@InProceedings{ lawrence.badre.ea:empirically*1,
author = {Lawrence, Andrea and Badre, Albert and Stasko, John T.},
title = {Empirically Evaluating the Use of Animations to Teach
Algorithms},
booktitle = {Proceedings of the 1994 IEEE Symposium on Visual
Languages, St. Louis, MO},
year = {1994},
pages = {48-54},
month = oct,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation,
Empirical_Studies_of_Software_Visualization}
}
Clarity Guided Belief Revision for Domain Knowledge Recovery in Legacy Systems, Yang Li and Hongji Yang and William Chu
Available as .
@InProceedings{ li.yang.ea:clarity,
author = {Yang Li and Hongji Yang and William Chu},
title = {Clarity Guided Belief Revision for Domain Knowledge
Recovery in Legacy Systems},
booktitle = {Proceedings of the 12th International Conference on
Software Engineering and Knowledge Engineering (SEKE2000)},
publisher = {Knowledge System Institute},
year = {2000},
editor = {Daniel E. Cooke and Joseph E. Urban},
chapter = {},
pages = {248-255},
address = {Chicago, USA},
month = {June},
url = {},
abstract = {Program understanding is the process of acquiring
knowledge from a computer program. Although research work
utilising knowledge engineering techniques has been
undertaken in this field, it is our observation that a
thorough application of AI methodology has not been
sufficiently explored. In this paper, we present a clarity
guided belief revision approach to domain knowledge
recovery in legacy software systems. Novel solutions are
given to three key AI issues in the context of domain
knowledge recovery from source code: knowledge
representation, where concrete semantic network is
separated from abstract semantic network to better
accommodate uncertainty reasoning and propagation;
uncertainty reasoning, which borrows ideas from
confirmation theory and recasts them in the context of
semantic network reasoning; heuristic search, which is
designed on the principle of programming psychology. Our
approach is light-weighted. It can be used stand-alone or
as a complement to traditional heavy-weighted domain
knowledge recovery methods. },
keywords = {program understanding, knowledge recovery, semantic
network, belief revision, heuristic search, programming
psychology},
note = {This paper describes our innovative work where
psychology-based methodology was brought into the area of
Articial Intelligence and was applied in the field of
domain knowledge recovery from source code.},
class = {Knowledge-Based_Concept_Assignment System_Modularizatio
Model_Generating Reverse_Specification Metrics
Reverse_Design Domain_Analysis
Metric-Based_Methods_in_Reverse_Design
Human_Oriented_Concept_Assignment_by_Informal_Reasoning
Software_Reverse_Engineering }
}
A Concept-Oriented Belief Revision Approach to Domain Knowledge Recovery from Source Code, Yang Li and Hongji Yang and William Chu
@Article{ li.yang.ea:concept-oriented,
author = {Yang Li and Hongji Yang and William Chu},
title = {A Concept-Oriented Belief Revision Approach to Domain
Knowledge Recovery from Source Code},
journal = {Journal of Software Maintenance: Research and Practice},
year = {2000},
volume = {12},
number = {6},
abstract = {Domain knowledge is the soul of software systems. After
decades of software development, domain knowledge has
reached a certain degree of saturation. The recovery of
domain knowledge from source code is beneficial to many
software engineering activities, in particular, software
evolution. In the real world, the ambiguous appearance of
domain knowledge embedded in source code constitutes the
biggest barrier to recovering reliable domain knowledge. In
this paper, we introduce an innovative approach to
recovering domain knowledge with enhanced reliability from
source code. In particular, we divide domain knowledge into
inter-connected knowledge slices and match these knowledge
slices against the source code. Each knowledge slice has
its own authenticity evaluation function which takes the
belief of the evidences it needs as input and the
authenticity of the knowledge slice as output. Moreover,
the knowledge slices are arranged to exchange beliefs with
each other through inter-connections, i.e., concepts, so
that a better evaluation of the authenticity of these
knowledge slices can be obtained. The decision on
acknowledging recovered knowledge slices can therefore be
made more easily. Rooted in cognitive science and social
psychology, our approach is also widely applicable to other
knowledge recovery tasks. },
keywords = {domain knowledge recovery, uncertainty reasoning,
cooperative behaviour, semantic network},
note = {It is the first attempt of applying social psychology
theory to the field of knowledge recovery, in particular
design recovery.},
class = {Knowledge-Based_Concept_Assignment Using_graphs
Model_Generating Reverse_Specification
Cognitive_Processes_in_Human_Program_Understanding
Reverse_Design Domain_Analysis
Human_Oriented_Concept_Assignment_by_Informal_Reasonin
Intermediate_Representations_of_Source_Code
Software_Reverse_Engineering }
}
Towards Building a Smarter Domain Knowledge Recovery Assistant, Yang Li and Hongji Yang and William Chu
Available as .
@InProceedings{ li.yang.ea:towards,
author = {Yang Li and Hongji Yang and William Chu},
title = {Towards Building a Smarter Domain Knowledge Recovery
Assistant},
booktitle = {Proceedings of the 24th IEEE Annual Computer Software and
Applications Conference (COMPSAC2000)},
publisher = {IEEE Computer Society Press},
year = {2000},
editor = {},
chapter = {},
pages = {},
address = {},
month = {Oct},
url = {},
abstract = {Legacy systems need to be ``salvaged'' to prolong their
life circle. One way for such a salvation is to recover and
maintain domain knowledge embedded in legacy code. It is
our observation that existing methods or tools for domain
knowledge recovery from source code did not provide
maintainers with sufficient assistance to reduce the size
of analysable program sections, identify program sections
having intensive domain knowledge and maintain the belief
of a network of domain knowledge extracted from source code
which can accommodate change of belief coming from a user.
In this paper, we introduce techniques which can provide
software maintainers with smart assistance for the
above-mentioned three issues. },
keywords = {program partitioning, program readability metric, belief
network, domain knowledge recovery},
note = {We incorpate human psychology knowledge with the design of
a domain knowledge recovery tool.},
class = {Automated_Reverse_Design
Knowledge-Based_Concept_Assignment Reverse_Engineering_Tool
Model_Generating Reverse_Specification
Cognitive_Processes_in_Human_Program_Understanding Metrics
Reverse_Design System_Modularization Domain_Analysis
Recovery_of_Software_Architecture
Metric-Based_Methods_in_Reverse_Design
Human_Oriented_Concept_Assignment_by_Informal_Reasoning
Software_Reverse_Engineering }
}
Fusing Ambiguous Domain Knowledge Slices in a Reverse Engineering Process, Yang Li and Hongji Yang
Available as .
@InProceedings{ li.yang:fusing,
author = {Yang Li and Hongji Yang},
title = {Fusing Ambiguous Domain Knowledge Slices in a Reverse
Engineering Process},
booktitle = {Proceedings of the 7th Asia-Pacific Software Engineering
Conference (APSEC2000)},
publisher = {IEEE Computer Society Press},
year = {2000},
editor = {},
chapter = {},
pages = {},
address = {Singapore},
month = {Dec},
url = {},
abstract = {Recovering domain knowledge from legacy code plays an
important role in the new information technology era, which
can be of help for program understanding, system evolution
and software reuse. Traditional methods for domain
knowledge recovery from source code did not sufficiently
address the issue of ambiguity handling, in particular, the
propagation of ambiguity among multiple domain knowledge
slices recovered from source code in software reverse
engineering process. In this paper, we present a novel
approach to recovering unambiguous domain knowledge from
legacy code, where isolated ambiguous domain knowledge
slices are ``fused'' together in an iterative ambiguity
propagation process and hence the disambiguity of these
recovered knowledge slices is increased. },
keywords = {reverse engineering, domain knowledge recovery,
co-operative behaviour, belief revision},
note = {This is the first of this kind of work which deals with
the ambiguity involved in recovering large-scale domain
knowledge from source code.},
class = {Automated_Reverse_Design
Knowledge-Based_Concept_Assignment Using_graphs
Model_Generating Reverse_Specification
Cognitive_Processes_in_Human_Program_Understanding
Reverse_Design Domain_Analysis
Recovery_of_Software_Architectur
Metric-Based_Methods_in_Reverse_Design
Human_Oriented_Concept_Assignment_by_Informal_Reasoning
Intermediate_Representations_of_Source_Code
Software_Reverse_Engineering }
}
Visualizing Program Dependencies, P. Linos
Available as
~care.
@Article{ linos:visualizing,
author = {P. Linos},
title = {Visualizing Program Dependencies},
journal = {Software-Practice and Experience},
year = {1994},
volume = {24},
number = {4},
pages = {387-403},
url = {http://www.csc.tntech.edu/~care},
abstract = {This paper addresses the problem of visualizing program
dependencies(i.e. enitities and their relations). A code
visualization tool that maintains a repository of
structural and functional dependencies for C programs is
described. Visualization of such dependencies is
accomplished by using a presentation model which combines
data and control flow information. Moreover, transformation
mechanisms and partitioning techniques used by the tool
provide the means for managing large graphical
representations. The quantitative results from an
experimental study using this tool indicate that the
productivity of its users was increased and that the
quality of changes made during a program modification
exercise was improved. Furthermore, the qualitative results
have shown that its presentation model, transformation
mechanisms and partitioning techniques constitute a
promising platform for the comprehension and maintenancce
of C programs. Finally, the outcome of an empirical
evaluation of the tool and hte enhancement of its
functionality and user interface are also discussed in this
paper.},
keywords = {Program understanding Re-engineering Software maintenance
dependencies Layout Tools},
class = {Software_Reverse_Engineering Software_Animation
Reverse_Specification
Empirical_Studies_of_Software_Visualization }
}
A Design Framework for System Re-engineering, Xiaodong Liu and Zhiqiang Chen and Hongji Yang and Hussein Zedan and William. C. Chu
@InProceedings{ liu.chen.ea:design,
author = {Xiaodong Liu and Zhiqiang Chen and Hongji Yang and Hussein
Zedan and William. C. Chu},
title = {A Design Framework for System Re-engineering},
booktitle = {Proceedings of Joint Asia Pacific Software Engineering
Conference and International Computer Science Conference},
publisher = {IEEE Computer Society},
year = {1997},
address = {Hong Kong},
month = {December},
abstract = { We discuss the current situation of formal methods and
their use in the re-engineering of computing systems,
especially real time systems. Based on the analysis result,
a solution which uses a consistent 4-sector Wide Spectrum
Language (WSL) is proposed, which presently includes the
general architecture and work flow, the structure of
Object-Action Model, the syntax and semantics of ObTAM
(Object Oriented Temporal Agent Model) and TGCL (Timed
Guarded Command Language). A small case study shows an
optimistic future of our WSL technique. Further research
will aim to build the complete semantic kernel of the WSL
and its associated algebraic laws, including transformation
rules and abstraction rules. },
keywords = {formal methods, re-engineering, wide spectrum language,
real-time systems, object orientation, Interval Temporal
Logic},
class = {Reengineering_in_General Requirement_Tracability
Software_Reverse_Engineering Reverse_Specification
Process_Models }
}
Reverse Engineering by visualizing and querying, A. Mendelzon and J. Sametinger
@Article{ mendelzon.sametinger:reverse,
title = {Reverse Engineering by visualizing and querying},
author = {A. Mendelzon and J. Sametinger},
journal = {Software---Concepts and Tools},
pages = {170--182},
volume = {16},
number = {4},
year = {1995},
note = { A tool called Hy+ is described that can be used for
reverse engineering. Hy+ is a general-purpose data
visualization system for querying and visualizing
information about object-oriented software systems. Hy+
supports this for arbitrary graph-like databases. The use
is demonstrated with the evaluation of software metrics,
verifying constraints and identifying design patterns},
class = {Software_Reverse_Engineering, Reverse_Design,
Fundamental_Methods_in_Reverse_Design, Source_Code_Queries,
Reverse_Specification, Software_Animation,
Visualization_for_Program_Understanding_and_Debugging}
}
Domain Analysis for Transformational Reuse, Melody Moore and Spencer Rugaber
Available as
Melody.Moore.
@InProceedings{ moore.rugaber:domain,
author = {Melody Moore and Spencer Rugaber},
title = {Domain Analysis for Transformational Reuse},
booktitle = {Proceedings of the Fourth Working Conference on Reverse
Engineering},
publisher = {IEEE Computer Society Press Los Alamitos California},
year = {1997},
editor = {Ira Baxter and Alex Quilici and Chris Verhoef},
month = {October},
url = {http://www.cc.gatech.edu/fac/Melody.Moore},
abstract = {Domain analysis is an effective technique for enabling
both reuse and reverse engineering. This paper shows how
domain analysis can provide a framework for combining
reverse engineering and forward engineering to implement
transformational reuse for information system user
interfaces.},
keywords = {Reverse engineering domain analysis user interfaces
reuse},
class = {Software_Evolution Reengineering_in_General
User_Interface_Migration Software_Reverse_Engineering
Model_Generating Reverse_Specification Re-Design
Domain_Analysis Alteration }
}
Using Knowledge Representation to Understand Interactive Systems, Melody Moore and Spencer Rugaber
Available as
Melody.Moore.
@InProceedings{ moore.rugaber:using,
author = {Melody Moore and Spencer Rugaber},
title = {Using Knowledge Representation to Understand Interactive
Systems},
booktitle = {Proceedings of the Fifth International Workshop on Program
Comprehension (IWPC)},
publisher = {IEEE Computer Society Press},
month = {May},
url = {http://www.cc.gatech.edu/fac/Melody.Moore},
keywords = {knowledge representation reverse engineering user
interfaces},
class = {Reengineering_in_General User_Interface_Migration
Software_Reverse_Engineering Reverse_Specification
Re-Design Domain_Analysis Alteration }
}
Representation Issues for Reengineering Interactive Systems, Melody Moore
Available as
Melody.Moore.
@Article{ moore:representation,
author = {Melody Moore},
title = {Representation Issues for Reengineering Interactive
Systems},
journal = {ACM Computing Surveys},
year = {1996},
volume = {28},
number = {4es},
month = {December},
url = {http://www.cc.gatech.edu/fac/Melody.Moore},
keywords = {representation user interface reengineering modeling},
class = {Reengineering_in_General User_Interface_Migration
Software_Reverse_Engineering Model_Generating
Reverse_Specification Re-Design Alteration
Intermediate_Representations_of_Source_Code }
}
Rule-based Detection for Reengineering User Interfaces, Melody Moore
Available as
Melody.Moore.
@InProceedings{ moore:rule-based,
author = {Melody Moore },
title = {Rule-based Detection for Reengineering User Interfaces},
booktitle = {Proceedings of the Third Working Conference on Reverse
Engineering (WCRE)},
publisher = {IEEE Computer Society Press},
year = {1996},
month = {November},
url = {http://www.cc.gatech.edu/fac/Melody.Moore},
keywords = {reverse engineering user interfaces rule base knowledge
representations},
class = {Reengineering_in_General User_Interface_Migration
Software_Reverse_Engineering Model_Generating
Reverse_Specification Re-Design Alteration }
}
Applying algorithm animation techniques for program tracing, debugging, and understanding, Sougata Mukherjea and John T. Stasko
@InProceedings{ mukherjea.stasko:applying,
author = {Sougata Mukherjea and John T. Stasko},
title = {Applying algorithm animation techniques for program
tracing, debugging, and understanding},
pages = {456--467},
booktitle = {Proceedings of the 15th International Conference on
Software Engineering },
year = {1993},
publisher = {IEEE Computer Society Press},
month = apr,
abstract = {Algorithm animation which presents a dynamic visualization
of an algorithm or program, primarily has been used as a
teaching aid. The higly abstract, application-specific
nature of algorithm animation requires human design of the
animation views. We speculate that the application-specific
nature of algorithm animation views could be a valuable
debugging aid for software developers as well.
Unfortunately, if animation development requires
time-consuming design with a graphics package, it will not
be used for debugging, where timeliness is a necessity. We
have developed a system called Lens that allows programmers
to rapidly (in minutes) build algorithm animation-style
program views without requiring any sophisticated graphics
knowledge or coding. Lens is integrated with a system
debugger to promote iterative design and exploration.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging,
Algorithm_Animation}
}
Toward Visual Debugging: Integrating Algorithm Animation Capabilities within a Source Level Debugger, Mukherjea, Sougata and Stasko, John T.
@Article{ mukherjea.stasko:toward,
author = {Mukherjea, Sougata and Stasko, John T.},
title = {Toward Visual Debugging: Integrating Algorithm Animation
Capabilities within a Source Level Debugger},
journal = {ACM Transactions on Computer-Human Interaction},
year = {1994},
volume = {1},
number = {3},
pages = {215-244},
month = sep,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging,
Algorithm_Animation}
}
Visualizing Program Executions on Large Data Sets Using Semantic Zooming, Muthukumarasamy, Jeyakumar and Stasko, John T.
@TechReport{ muthukumarasamy.stasko:visualizing,
author = {Muthukumarasamy, Jeyakumar and Stasko, John T.},
title = {Visualizing Program Executions on Large Data Sets Using
Semantic Zooming},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1995},
type = {Technical Report},
number = {GIT-GVU-95-02},
month = jan,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
http = {http://www.cc.gatech.edu/gvu/softviz/infoviz/infoviz.html}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs,
Algorithm_Animation,
Information_Visualization_and_Visualization_of_Large_Systems}
}
Incense: A System for Displaying Data Structures, Brad A. Myers
@Article{ myers:incense,
author = {Brad A. Myers},
title = {Incense: A System for Displaying Data Structures},
journal = {Computer Graphics},
year = {1983},
volume = {17},
number = {3},
pages = {115-125},
month = jul,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging}
}
Requirements Validation via Natural Language Parsing, Sastry Nanduri and Spencer Rugaber
@InProceedings{ nanduri.rugaber:requirements,
author = {Sastry Nanduri and Spencer Rugaber},
title = {Requirements Validation via Natural Language Parsing},
booktitle = {Proceedings of the 28th Hawaii International Conference on
System Sciences},
address = {Wailea, Maui, Hawaii},
year = {1995},
month = jan,
abstract = {Object Oriented Analysis (OOA) has become a popular method
for analyzing system requirements. Unfortunately however,
none of the current version of OOA have included a
validation technique tailored to the object oriented
approach. Most, instead, merely recommend document reviews
without specifying what kinds of problems to look for. This
paper explores the question by applying a natural language
parser to a requirement document, extracting candidate
objects, methods and associations, composing them into an
object model diagram, and then comparing the results to
those determined by manual OOA. To do this, we have adapted
an automated natural language parser and used it to examine
several high level specifications. The results indicate
that with a modest amount of effort, our technique can give
valuable feedback to the analyst.},
ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/hicss.ps}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Natural_Language_Processing_in_Reverse_Specification}
}
Requirements Validation via Automated Natural Language Parsing, Sastry Nanduri and Spencer Rugaber
@Article{ nanduri.rugaber:requirements*1,
author = {Sastry Nanduri and Spencer Rugaber},
title = {Requirements Validation via Automated Natural Language
Parsing},
journal = {Journal of MIS},
year = {1995},
month = jan,
note = {UpDated version of Nanduri:95a submitted for publication},
abstract = {Object Oriented Analysis (OOA) has become a popular method
for analyzing system requirements. Unfortunately however,
none of the current versions of OOA have included a
validation technique tailored to the object oriented
approach. Most, instead, merely recommend document reviews
without specifying what kinds of problems to look for. This
paper explores the question by applying a natural language
parser to a requirement document, extracting candidate
objects, methods and associations, composing them into an
object model diagram, and then comparing the results to
those determined by manual OOA. To do this, we have adapted
an automated natural language parser and used it to examine
several high level specifications. The results indicate
that with a modest amount of effort, our technique can give
valuable feedback to the analyst.},
ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/jmis.ps},
class = {Software_Reverse_Engineering, Reverse_Specification,
Natural_Language_Processing_in_Reverse_Specification}
}
Reverse Engineering: Resolving Conflicts between Expected and Actual Software Design, Stephen B. Ornburn and Spencer Rugaber
@InProceedings{ ornburn.rugaber:reverse*1,
author = {Stephen B. Ornburn and Spencer Rugaber},
title = {Reverse Engineering: Resolving Conflicts between Expected
and Actual Software Design},
pages = {32-40},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1992},
year = {1992},
publisher = {IEEE Computer Society Press},
month = nov,
abstract = {A real-time embedded system was the subject of a series of
experiments in reverse engineering. These experiments
employed a method of reverse engineering, called
Synchronized Refinement, that analyzes a program,
describing its behaviour in the vocabulary of the
application domain and its structure in terms of design
decisions. The results provide insight into the role of
domain knowledge in this type of analysis together with the
tools used in the detailed analysis of code. The
experiments, which included the re-design of a component
and the diagnosis of a critical software failure, showed
how the real work of software maintenance is in resolving
apparent inconsistencies between the expectations that have
been derived from domain knowledge and the facts that have
been uncovered by applying reverse engineering tools to the
software.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Program Visualization: The Art of Mapping Programs to Pictures, G. C. Roman and K. C. Cox
@InProceedings{ roman.cox:program,
author = {G. C. Roman and K. C. Cox},
title = {Program Visualization: The Art of Mapping Programs to
Pictures},
booktitle = {Proceedings of the 14th International Conference on
Software Engineering },
pages = {412--420},
month = may,
year = {1992},
abstract = {Program visualization is defined as a mapping from
programs to graphical representations. Simple forms of
program visualization are frequently encountered in
software engineering. For this reason current advances in
program visualization are likely to influence future
developments concerning software engineering tools and
environments. The authors provide a new taxonomy of program
visualization research. The proposed taxonomy becomes the
vehicle through which they carry out a systematic review of
current systems, techniques, trends, and ideas in program
visualization.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation}
}
A Taxonomy of Program Visualization Systems, Gruia-Catalin Roman and Kenneth C. Cox
@Article{ roman.cox:taxonomy,
author = {Gruia-Catalin Roman and Kenneth C. Cox},
title = {A Taxonomy of Program Visualization Systems},
journal = {IEEE Computer},
year = {1993},
pages = {11-24},
month = dec,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation}
}
Position Paper Domain Analysis and Reverse Engineering, Spencer Rugaber
@Article{ rugaber:position,
author = {Spencer Rugaber},
title = {Position Paper Domain Analysis and Reverse Engineering},
journal = {Software Engineering Techniques Workshop on Software
Reengineering},
institution = {Software Engineering Institute},
address = {Pittsburgh, Pennsysvania},
year = {1994},
month = may,
abstract = {This paper describes the reverse engineering problem. It
emphasizes the need for domain knowledge to fully
understand a given program. The terms domain, domain
analysis, domain representation, and the relationship to
reverse engineering are discussed. The issues of
methodolgy, representation, and tools are described.
Finally, some projects at Georgia's Institute of Technology
in the area of reverse engineering are presented.},
ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/sei.ps},
class = {Software_Reverse_Engineering, Reverse_Specification,
Domain_Analysis}
}
Using Animation to Design, Document and Trace Object-Oriented Systems, Shilling, John J. and Stasko, John T.
@TechReport{ shilling.stasko:using,
author = {Shilling, John J. and Stasko, John T.},
title = {Using Animation to Design, Document and Trace
Object-Oriented Systems},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1992},
type = {Technical Report},
number = {GIT-GVU-92-12},
address = {Atlanta, GA},
month = jun,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Visualizing_Object-Oriented_Programs}
}
Using Animation to Design Object-Oriented Systems, Shilling, John J. and Stasko, John T.
@Article{ shilling.stasko:using*1,
author = {Shilling, John J. and Stasko, John T.},
title = {Using Animation to Design Object-Oriented Systems},
journal = {Object Oriented Systems},
year = {1994},
volume = {1},
number = {1},
pages = {5-19},
month = sep,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Visualizing_Object-Oriented_Programs}
}
Linked-List Visualization for Debugging, Takao Shimomura and Sadahiro Isoda
@Article{ shimomura.isoda:linked-list,
author = {Takao Shimomura and Sadahiro Isoda},
title = {Linked-List Visualization for Debugging},
journal = {IEEE Software},
year = {1991},
pages = {44-51},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_for_Program_Understanding_and_Debugging}
}
Utilizing Program Visualization Techniques to Aid Parallel and Distributed Program Development, Stasko, John T. and Appelbe, William F. and Kraemer, Eileen
@TechReport{ stasko.appelbe.ea:utilizing,
author = {Stasko, John T. and Appelbe, William F. and Kraemer,
Eileen},
title = {Utilizing Program Visualization Techniques to Aid Parallel
and Distributed Program Development},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1991},
type = {Technical Report},
number = {GIT-GVU-91/08},
month = jun,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Do Algorithm Animations Assist Learning? An Empirical Study and Analysis, Stasko, John T. and Badre, Albert and Lewis, Clayton
@InProceedings{ stasko.badre.ea:do,
author = {Stasko, John T. and Badre, Albert and Lewis, Clayton},
title = {Do Algorithm Animations Assist Learning? An Empirical
Study and Analysis},
booktitle = {Proceedings of the INTERCHI '93 Conference on Human
Factors in Computing Systems, Amsterdam, Netherlands},
year = {1993},
pages = {61-66},
month = apr,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation,
Empirical_Studies_of_Software_Visualization}
}
A Methodology for Building Application-Specific Visualizations of Parallel Programs, Stasko, John T. and Kraemer, Eileen
@TechReport{ stasko.kraemer:methodology,
author = {Stasko, John T. and Kraemer, Eileen},
title = {A Methodology for Building Application-Specific
Visualizations of Parallel Programs},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1992},
type = {Technical Report},
number = {GIT-GVU-92-10},
month = jun,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
A Methodology for Building Application-Specific Visualizations of Parallel Programs, Stasko, John T. and Kraemer, Eileen
@Article{ stasko.kraemer:methodology*1,
author = {Stasko, John T. and Kraemer, Eileen},
title = {A Methodology for Building Application-Specific
Visualizations of Parallel Programs},
journal = {Journal of Parallel and Distributed Computing},
year = {1993},
volume = {18},
number = {2},
pages = {258-264},
month = jun,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Toward Flexible Control of the Temporal Mapping from Concurrent Program Events to Animations, Stasko, John T. and Kraemer, Eileen
@TechReport{ stasko.kraemer:toward,
author = {Stasko, John T. and Kraemer, Eileen},
title = {Toward Flexible Control of the Temporal Mapping from
Concurrent Program Events to Animations},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1994},
type = {Technical Report},
number = {GIT-GVU-94-10},
month = mar,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Tidy Animations of Tree Algorithms, Stasko, John T. and Turner, Carlton Reid
@TechReport{ stasko.turner:tidy,
author = {Stasko, John T. and Turner, Carlton Reid},
title = {Tidy Animations of Tree Algorithms},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1992},
type = {Technical Report},
number = {GIT-GVU-92-11},
month = jun,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
http = {http://www.cc.gatech.edu/gvu/softviz/algoanim/algoanim.html}
,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
Tidy Animations of Tree Algorithms, Stasko, John T. and Turner, Carlton Reid
@InProceedings{ stasko.turner:tidy*1,
author = {Stasko, John T. and Turner, Carlton Reid},
title = {Tidy Animations of Tree Algorithms},
booktitle = {Proceedings of the 1992 IEEE Workshop on Visual Languages,
Seattle, WA},
year = {1992},
pages = {216-218},
month = sep,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
Three-Dimensional Computation Visualization, Stasko, John T. and Wehrli, Joseph F.
@TechReport{ stasko.wehrli:three-dimensional,
author = {Stasko, John T. and Wehrli, Joseph F.},
title = {Three-Dimensional Computation Visualization},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1992},
type = {Technical Report},
number = {GIT-GVU-92-20},
month = sep,
http = {http://www.cc.gatech.edu/gvu/softviz/3dcv/3dcv.html},
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, 3D_Computation_Visualization}
}
Three-Dimensional Computation Visualization, Stasko, John T. and Wehrli, Joseph F.
@InProceedings{ stasko.wehrli:three-dimensional*1,
author = {Stasko, John T. and Wehrli, Joseph F.},
title = {Three-Dimensional Computation Visualization},
booktitle = {Proceedings of the 1993 IEEE Symposium on Visual
Languages, Bergen, Norway},
year = {1993},
pages = {100-107},
month = aug,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, 3D_Computation_Visualization}
}
Animating Algorithms with XTANGO, Stasko, John T.
@Article{ stasko:animating,
author = {Stasko, John T.},
title = {Animating Algorithms with XTANGO},
journal = {SIGACT News},
year = {1992},
volume = {23},
number = {2},
month = {Spring},
pages = {67-71},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
Animation in User Interfaces: Principles and Techniques, Stasko, John T.
@Article{ stasko:animation,
author = {Stasko, John T.},
title = {Animation in User Interfaces: Principles and Techniques},
journal = {Trends in Software, Special issue on User Interface
Software},
year = {1993},
editor = {Bass, Len and Dewan, Prasun},
number = {1},
chapter = {5},
pages = {81-101},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Animation_in_User_Interfaces}
}
The PARADE Environment for Visualizing Parallel Program Executions: A Progress Report, Stasko, John T.
@TechReport{ stasko:parade,
author = {Stasko, John T.},
title = {The PARADE Environment for Visualizing Parallel Program
Executions: A Progress Report},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1995},
type = {Technical Report},
number = {GIT-GVU-95-03},
month = jan,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
The Path-Transition Paradigm: A Practical Methodology for Adding Animation to Program Interfaces, Stasko, John T.
@Article{ stasko:path-transition,
author = {Stasko, John T.},
title = {The Path-Transition Paradigm: A Practical Methodology for
Adding Animation to Program Interfaces},
journal = {Journal of Visual Languages and Computing},
year = {1990},
volume = {1},
number = {3},
month = sep,
pages = {213-236},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
TANGO: A Framework and System for Algorithm Animation, Stasko, John T.
@Article{ stasko:tango,
author = {Stasko, John T.},
title = {TANGO: A Framework and System for Algorithm Animation},
journal = {IEEE Computer},
year = {1990},
month = sep,
pages = {27-39},
volume = {23},
number = {9},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
Using Direct Manipulation to Build Algorithm Animations by Demonstration, Stasko, John T.
@InProceedings{ stasko:using,
author = {Stasko, John T.},
title = {Using Direct Manipulation to Build Algorithm Animations by
Demonstration},
booktitle = {Proceedings of the ACM SIGCHI '91 Conference on Human
Factors in Computing Systems, New Orleans, LA},
year = {1991},
month = may,
pages = {307-314},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation, Algorithm_Animation}
}
On the relationships between static and dynamic models in reverse engineering Java software, Tarja Systä
Available as
~tsysta.
@InProceedings{ systä:on,
author = {Tarja Systä},
title = {On the relationships between static and dynamic models in
reverse engineering Java software},
booktitle = {Proceedings of the 6th Working Conference on Reverse
Engineering (WCRE99)},
publisher = {IEEE Computer Society},
year = {1999},
pages = {304-313},
url = {http://www.cs.tut.fi/~tsysta},
abstract = {An experimental environment for reverse engineering Java
software is discussed. Static information is extracted from
class files and viewed using Rigi reverse engineering
environment. The dynamic information is generated by
running the target software under a debugger. The debugged
event trace information is viewed as scenario diagrams
using a prototype tool called SCED. In SCED state diagrams
can be synthesized automatically from scenario diagrams.
Dynamic information can also be attached to the static Rigi
graph. Both static and dynamic views contain information
about software artifacts and their relations. Such
overlapping information forms a connection for information
exchange between the views. SCED scenario diagrams are used
for slicing the Rigi view and the Rigi view, in turn, is
used to guide the generation of SCED scenario diagrams and
for raising their level of abstraction. },
keywords = {Java, SCED, Rigi, static reverse engineering, dynamic
reverse engineering},
class = {Visualization_for_Program_Understanding_and_Debugging
Binary_Reverse_Engineering Software_Animation
Reverse_Specification Visualizing_Object-Oriented_Programs
Reverse_Design Reverse_Engineering_Tools Program_Slicing
Fundamental_Methods_in_Reverse_Design Rigi Dynamic_Analysis
Software_Reverse_Engineering Static_Analysis }
}
Static and Dynamic Reverse Engineering Techniques for Java Software Systems, Tarja Systä
Available as
~tsysta.
@PhDThesis{ systä:static,
author = {Tarja Systä},
title = {Static and Dynamic Reverse Engineering Techniques for Java
Software Systems},
school = {University of Tampere},
year = {2000},
url = {http://www.cs.tut.fi/~tsysta},
keywords = {Java, static reverse engineering, dynamic reverse
engineering, Rigi, SCED, Shimba},
class = {Visualization_for_Program_Understanding_and_Debugging
Binary_Reverse_Engineering Software_Animation
Reverse_Specification Visualizing_Object-Oriented_Programs
Reverse_Design Reverse_Engineering_Tools Program_Slicing
Fundamental_Methods_in_Reverse_Design Rig Dynamic_Analysis
Software_Reverse_Engineering Static_Analysis }
}
Architectural Extraction in Reverse Engineering by Prototyping - An Experiment, Sander Tichelaar and Stephane Ducasse and Theo Dirk Meijler
Available as
archiDocumentation.pdf.
@InProceedings{ tichelaar.ducasse.ea:architectural,
author = {Sander Tichelaar and Stephane Ducasse and Theo Dirk
Meijler},
title = {Architectural Extraction in Reverse Engineering by
Prototyping - An Experiment},
booktitle = {Proceedings ESEC - FFSE 97 Workshop on Object-Oriented
Reengineering},
publisher = {Technical University of Vienna},
year = {1997},
editor = {Serge Demeyer and Harald Gall},
month = {August},
url = {http://iamwww.unibe.ch/~tichel/archiDocumentation.pdf},
abstract = {In this workshop paper we present a prototype approach to
help the extraction of architectural information in the
re-engineering process. Commonly the re-engineering
life-cycle has been defined as a succession of the
following tasks: analysis of requirements model capture
"understanding the system" problem detection problem
analysis reorganization and change propagation. We have
evaluated the benefit of a prototyping approach with a
focus on model capture. Although prototyping is a known
approach to evaluate the application feasibility costs
comparison and validation of choices we focus in this paper
on the aspects of prototyping that are helpful for
re-engineering.},
keywords = {architectural extraction prototyping FAMOOS},
note = {This work is part of the ESPRIT project FAMOOS: A
Framework-based Approach for Mastering Object-Oriented
Software Evolution},
class = {Software_Reverse_Engineering Model_Generating
Reverse_Specification Inter-module_Reorganization
Reverse_Design Re-Design Recovery_of_Software_Architecture
Alteration }
}
Integrating Visualization Support into Distributed Computing Systems, Topol, Brad and Stasko, John T. and Sunderam, Vaidy
@InProceedings{ topol.stasko.ea:integrating*1,
author = {Topol, Brad and Stasko, John T. and Sunderam, Vaidy},
title = {Integrating Visualization Support into Distributed
Computing Systems},
booktitle = {Proceedings of the 15th International Conference on
Distributed Computing Systems, Vancouver, B.C.},
year = {1995},
pages = {19-26},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}
Interactive Three-Dimensional Visual Debugging in Massively Parallel Computation (extended abstract), Wehrli, Joseph F. and Stasko, John T.
@InProceedings{ wehrli.stasko:interactive,
author = {Wehrli, Joseph F. and Stasko, John T.},
title = {Interactive Three-Dimensional Visual Debugging in
Massively Parallel Computation (extended abstract)},
booktitle = {Proceedings of the 1993 ACM/ONR Workshop on Parallel and
Distributed Debugging, San Diego, CA},
year = {1993},
pages = {235-237},
month = may,
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs,
3D_Computation_Visualization}
}
Locating user functionality in old code, N. Wilde and J. Gomez and T. Gust and D. Strasburg
@InProceedings{ wilde.gomez.ea:locating,
title = {Locating user functionality in old code},
author = {N. Wilde and J. Gomez and T. Gust and D. Strasburg},
pages = {200--205},
booktitle = {\cite{SM92}},
year = {1992},
note = { Proposes a probabilistic technique to match expected
functionality with the actual functions as implemented in
existing code. An experiment reveals that the method works
reasonable but cannot replace human experts},
class = {Software_Reverse_Engineering, Reverse_Specification}
}
Locating User Functionality in Old Code, Norman Wilde and Juan A. Gomez and Thomas Gust and Douglas Strasburg
@InProceedings{ wilde.gomez.ea:locating*1,
author = {Norman Wilde and Juan A. Gomez and Thomas Gust and Douglas
Strasburg},
title = {Locating User Functionality in Old Code},
pages = {200-205},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1992},
year = {1992},
publisher = {IEEE Computer Society Press},
month = nov,
abstract = {Software maintainers often have to recover requirements
traceability in old code. In other words, they need to
answer the question: 'In which parts of this program is
functionality X implemented?' This paper proposes a
methodology for answering this question based on the use of
carefully designed test cases as probes into the code.
While the methodology is not applicable to all kinds of
requirements and may not find all relevant code components,
it should often provide a maintainer with good starting
points for studying a large and poorly documented system.
Two formulations of the methodology are suggested and some
encouraging experimental results are presented from a case
study of a typical old program.},
class = {Software_Reverse_Engineering, Reverse_Specification,
Natural_Language_Processing_in_Reverse_Specification}
}
Tackling the Abstraction Problem for Reverse Engineering in a System Re-engineering Approach, Hongji Yang and Xiaodong Liu and Hussein Zedan
@InProceedings{ yang.liu.ea:tackling,
author = {Hongji Yang and Xiaodong Liu and Hussein Zedan},
title = {Tackling the Abstraction Problem for Reverse Engineering
in a System Re-engineering Approach},
booktitle = {proceedings of the IEEE Conference on Software Maintenance
(ICSM'98)},
publisher = {IEEE Computer Society},
year = {1998},
address = {Washington D.C., USA},
month = {November},
abstract = {It is widely accepted that reverse engineering has three
components: restructuring, comprehension and production of
formal specification. In this paper, we advocate that the
three components could be achieved in a {\bf systematic}
approach by successfully applying a series of sound rules.
The key approach to comprehension and the production of
formal specification is a notion of abstraction.
Abstraction is often interpreted as the act of hiding
irrelevant details. What constitute as relevant details is
often left open to different interpretations.
A unified approach for reverse engineering is described
within which the notion of abstraction is classified and
precisely defined. Abstraction rules are given and applied
to various small examples. },
keywords = {reverse engineering, re-engineering, wide spectrum
language, abstraction, object oriented, Interval Temporal
Logic. },
class = {Reengineering_in_General Software_Reverse_Engineering
Reverse_Specification Formal_Methods Reverse_Design
Process_Models }
}
Visualizing the Execution of Threads-based Parallel Programs, Zhao, Qiang A. and Stasko, John T.
@TechReport{ zhao.stasko:visualizing,
author = {Zhao, Qiang A. and Stasko, John T.},
title = {Visualizing the Execution of Threads-based Parallel
Programs},
institution = {Graphics, Visualization, and Usability Center Georgia
Institute of Technology, Atlanta, GA},
year = {1995},
type = {Technical Report},
number = {GIT-GVU-95-01},
month = jan,
ftp = {ftp://ftp.cc.gatech.edu/pub/gvu/tech-reports},
class = {Software_Reverse_Engineering, Reverse_Specification,
Software_Animation,
Visualization_of_Parallel_and_Distributed_Programs}
}