|
ABSTRACT
The main focus of program understanding and reverse engineering research has been on modeling the structure of a program by examining its code. This has been the result of the nature of the systems investigated and the perceived goals of the reverse engineering activities. The types of systems under investigation have changed, however, and the maintenance objectives have evolved. Many legacy systems today are object-oriented and component-based. One of the most prominent maintenance objectives is system migration to distributed environments, most notably the World Wide Web, for interoperation with other systems. This new maintenance objective has a great impact on the types of models expected as products of reverse engineering. As the traditional static software analysis techniques keep their valuable role in program comprehension, additional techniques, especially those focusing on run-time analysis of the subject systems, become equally important. In this paper, we focus on the analysis of the system's dynamic behavior, as it pertains to understanding the system's processes and uses. We give an overview of currently used dynamic reverse engineering techniques and identify some challenges yet to be tackled.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
R. Balzer, N. Goldman, Mediating Connectors, In Proc. of the 19th IEEE International Conference on Distributed Computing Systems , Austin, Texas, 1999, pp.73-77.
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
W. De Pauw, D. Lorenz, J. Vlissides, and M. Wegman, Execution patterns in object-oriented visualization, In Proc. of the Conference on Object-Oriented Technologies and Systems, 1998.
|
| |
7
|
W. De Pauw, G. Sevitsky, Visualizing Reference Patterns for Solving Memory Leaks in Java, Concurrency: Practice and Experience 2000, 12, pp. 1431-1454.
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
IBM Research, Jinsight, visualizing the execution of java programs, http://www.research.ibm.com/jinsight/, 2000.
|
| |
15
|
Z.120 ITU-T Recommendation Z.120: Message Sequence Chart (MSC), ITU-T, Geneva, 1999.
|
| |
16
|
Z.100 ITU-T Recommendation Z.100: Specification and Description Language (SDL), ITU-T, Geneva, 1999.
|
| |
17
|
|
 |
18
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William Griswold, Getting started with ASPECTJ, Communications of the ACM, v.44 n.10, p.59-65, Oct. 2001
[doi> 10.1145/383845.383858]
|
| |
19
|
R. V. Kapoor, E. Stroulia: Mathaino: Simultaneous Legacy Interface Migration to Multiple Platforms, In Proc. of the 9th International Conference on Human-Computer Interaction, Vol 1, New Orleans, LA, USA, 2001, pp. 51-55.
|
| |
20
|
|
| |
21
|
|
| |
22
|
|
| |
23
|
|
| |
24
|
J. Koskinen, J. Peltonen, P. Selonen, T. Systä, and K. Koskimies, Towards Tool Assisted UML Development Environments, In Proc. of the 7th Symposium on Programming Languages and Software Tools, Szeged, Hungary, 2001, pp. 1-15.
|
| |
25
|
|
 |
26
|
|
 |
27
|
Danny B. Lange , Yuichi Nakamura, Interactive visualization of design patterns can help in framework understanding, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.342-357, October 15-19, 1995, Austin, Texas, United States
|
| |
28
|
|
| |
29
|
M. Lehman, On understanding laws, evolution and conservation in the large program life cycle. Journal of Systems and Software,1, 3, 1980, pp. 213-221.
|
| |
30
|
|
| |
31
|
H. Müller, M. Orgun, S. Tilley, J. Uhl, A Reverse-engineering Approach to Subsystem Structure Identification, Software Maintenance: Research and Practice,5, 1993, pp. 181-204.
|
| |
32
|
|
| |
33
|
OMG, The Unified Modeling Language v1.4, http://www.omg.org/uml, 2001.
|
| |
34
|
D. Ploix, Building Program Metaphors, In Proc. of PPIG'96 PostGraduate Students Workshop, Matlock, UK, September 1996.
|
| |
35
|
T. Raitalaakso, Dynamic Visualization of C++ Programs with UML Sequence Diagrams, MSc Thesis, Tampere University of Technology, 2000, http://practise.cs.tut.fi/pub/index.html
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
| |
39
|
E. Stroulia, R. Kapoor: Reverse Engineering Interaction Plans for Legacy Interface Migration, 2002 Computer Aided User-Interface Design, 2002, to appear.
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
T. Systä, Static and Dynamic Reverse Engineering Techniques for Java Software Systems, PhD Thesis, University of Tampere, Dept. of Computer and Information Sciences, Report A-2000-4, 2000.
|
| |
44
|
S. Tilley, K. Wong, M.-A.D. Storey, and H. Müller, Programmable Reverse Engineering, International Journal of Software Engineering and Knowledge Engineering, 1994, pp. 501-520.
|
| |
45
|
|
 |
46
|
Robert J. Walker , Gail C. Murphy , Bjorn Freeman-Benson , Darin Wright , Darin Swanson , Jeremy Isaak, Visualizing dynamic software system information through high-level models, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.271-283, October 18-22, 1998, Vancouver, British Columbia, Canada
|
|