ACM Home Page
Please provide us with feedback. Feedback
New Frontiers of Reverse Engineering
Full text PdfPdf (397 KB)
Source International Conference on Software Engineering archive
2007 Future of Software Engineering table of contents
Pages 326-341  
Year of Publication: 2007
ISBN:0-7695-2829-5
Authors
Gerardo CanforaHarman  RCOST - University of Sannio, Benevento, Italy
Massimiliano Di Penta  RCOST - University of Sannio, Benevento, Italy
Publisher
IEEE Computer Society  Washington, DC, USA
Bibliometrics
Downloads (6 Weeks): 53,   Downloads (12 Months): 529,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: 10.1109/FOSE.2007.15

ABSTRACT

Comprehending and modifying software is at the heart of many software engineering tasks, and this explains the growing interest that software reverse engineering has gained in the last 20 years. Broadly speaking, reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction. This paper briefly presents an overview of the field of reverse engineering, reviews main achievements and areas of application, and highlights key open research issues for the future.


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
 
3
 
4
 
5
[5] G. Antoniol, E. Merlo, U. Villano, and M. Di Penta. Analyzing cloning evolution in the Linux Kernel. Information and Software Technology, 44:755-765, Oct 2002.
 
6
 
7
8
 
9
 
10
 
11
 
12
 
13
 
14
15
 
16
 
17
18
 
19
 
20
 
21
 
22
 
23
[23] G. Canfora, A. Cimitile, and M. Munro. Reverse engineering and reuse re-engineering. Journal of Software Maintenance and Evolution - Research and Practice, 6(2):53-72, 1994.
 
24
[24] L. Cerulo. On the Use of Process Trails to Understand Software Development. PhD thesis, RCOST - University of Sannio, Italy, 2006.
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
32
 
33
[33] J. R. Cordy, T. R. Dean, A. J. Malton, and K. A. Schneider. Source transformation in software engineering using the TXL transformation system. Information & Software Technology, 44(13):827-837, 2002.
 
34
 
35
[35] A. De Lucia. Program slicing: Methods and applications. In 1st IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2001), 10 November 2001, Florence, Italy, pages 144-151, 2001.
 
36
 
37
 
38
 
39
[39] S. Ducasse, M. Lanza, and S. Tichelaar. Moose: an extensible language-independent environment for reengineering object-oriented systems. In Proceedings of the Second International Symposium on Constructing Software Engineering Tools (CoSET 2000), 2000.
 
40
 
41
 
42
 
43
 
44
[44] M. D. Ernst. Static and dynamic analysis: synergy and duality. In ICSE Workshop on Dynamic Analysis (WODA), Portland, Oregon, USA, May 2003.
 
45
 
46
 
47
 
48
 
49
[49] R. Geiger, B. Fluri, H. C. Gall, and M. Pinzger. Relation of code clones and change couplings. In Proceedings of FASE 2005, number 3922 in Lecture Notes in Computer Science, pages 411-425, Vienna, Austria, March 2006. Springer.
 
50
 
51
 
52
[52] Grammatech Inc. The CodeSurfer slicing system, 2002.
 
53
 
54
 
55
[55] M. Harman. Software engineering optimization using search based techniques. In ICSE - Future of SE Track, 2007.
56
 
57
 
58
 
59
 
60
[60] IEEE. std 1219: Standard for Software maintenance. IEEE Computer Society Press, Los Alamitos, CA, USA, 1998.
 
61
[61] G. Jayaraman, V. P. Ranganath, and J. Hatcliff. Kaveri: Delivering the Indus Java program slicer to Eclipse. In Proceedings of FASE 2005, Edinburgh, UK, April 4-8, 2005, pages 269-272, 2005.
 
62
 
63
 
64
 
65
 
66
 
67
[67] R. Koschke. Atomic Architectural Component Recovery for Program Understanding and Evolution. PhD thesis, Univ. of Stuttgart, Germany, 2000.
 
68
 
69
 
70
71
 
72
 
73
74
 
75
 
76
 
77
 
78
 
79
80
 
81
 
82
83
 
84
85
 
86
 
87
 
88
 
89
 
90
91
 
92
 
93
94
 
95
 
96
 
97
 
98
 
99
 
100
 
101
 
102
 
103
 
104
[104] T. Systä. Static and Dynamic Reverse Engineering Techniques for Java Software Systems. PhD thesis, Univ. of Tampere, Finland, 2000.
 
105
 
106
 
107
 
108
 
109
[109] M. Turner, D. Budgen, and P. Brereton. Turning software into a service. IEEE Computer, 36(10):38-44, 2003.
 
110
 
111
 
112
[112] M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352-357, July 1984.
 
113
 
114
 
115
 
116
 
117


Collaborative Colleagues:
Gerardo CanforaHarman: colleagues
Massimiliano Di Penta: colleagues