Program understanding is an essential part of software maintenance and enhancement activities that relates a computer program to the goals and requirements it is designed to accomplish. Understanding techniques that rely only on source-code analysis are limited in their ability to derive this relationship. Application-domain analysis is another source of information that can aid program understanding by guiding the source-code analysis and providing structure to its results. We use the term "dowsing " to describe the process of exploring software and the related documentation from an application-domain point of view. We have designed a tools infrastructure to support dowsing and populated it with a variety of commercial and research tools. We have used the infrastructure and tools to explore software in two application domains: web browsers and software loader/verifiers for embedded systems.
|
1536
|
Object-Oriented Modeling and Design
– Rumbaugh, Blaha, et al.
- 1991
|
|
1031
|
The C programming language
– Kernighan, Ritchie
- 1988
|
|
971
|
Software Architecture: Perspectives on an Emerging Discipline
– Garlan, Shaw
- 1996
|
|
773
|
Object-Oriented Analysis and Design, with Applications
– Booch
- 1994
|
|
702
|
Software engineering economics
– Boehm
- 1984
|
|
244
|
Theory of Modeling and Simulation
– Zeigler, Praehofer, et al.
- 2000
|
|
152
|
Lassie: a knowledge-based software information system
– Devanbu, Brachman, et al.
- 1990
|
|
116
|
Structured design
– Stevens, Myers, et al.
- 1974
|
|
112
|
Program understanding and the concept assignment problem
– Biggerstaff, Mitbander, et al.
- 1994
|
|
71
|
Designing documentation to compensate for delocalized plans
– Soloway, Pinto, et al.
- 1988
|
|
70
|
Draco: A Method for Engineer-ing Reusable Software Systems
– Neighbors
- 1989
|
|
67
|
Simulating Computer Systems: Techniques and Tools
– MacDougall
- 1987
|
|
45
|
The C++ information abstractor
– Grass, Chen
- 1990
|
|
43
|
Program Design by Informal English Descriptions
– Abbott
- 1983
|
|
41
|
Recognizers for Extracting Architectural Features from Source Code
– Harris, Reubenstein, et al.
- 1995
|
|
41
|
ªRecovering Abstract Data Types and Object Instances from a Conventional Procedural Language,º Proc. Working Conf. Reverse Eng
– Yeh, Harris, et al.
- 1995
|
|
32
|
Application program maintenance study: Report to our respondents
– Fjeldstad, Hamlen
- 1979
|
|
20
|
DECODE: A Cooperative Environment for Reverse-Engineering Legacy Software
– Quilici, Chin
- 1995
|
|
19
|
Domain analysis and reverse engineering
– DeBaud, Moopen, et al.
- 1994
|
|
13
|
The Complexity of Multiway Cuts. Extended abstract
– Dahlhaus, Johnson, et al.
- 1983
|
|
9
|
Domain Analysis and Software Systems Modeling
– Arango, Prieto-Diaz
- 1991
|
|
7
|
Introduction to CGI/PERL
– Brenner, Aoki
- 1996
|
|
6
|
A Case Study of Domain-based
– Clayton, Rugaber, et al.
- 1997
|
|
5
|
Position Paper Domain Analysis and Reverse Engineering
– Rugaber
- 1994
|
|
4
|
Deriving an Object Model from Legacy Fortran Code
– Byrne, Subramamian
|
|
3
|
Johnson and Ali Erdem. "Interactive Explanation of Software Systems
– Lewis
- 1996
|
|
3
|
Drawing Graphs with dot." AT&T
– Koutsofios, North
|
|
2
|
The Icon Programming Language
– Griswald, Griswald
- 1983
|