|
ABSTRACT
Software reverse engineering is a fascinating discipline of software engineering. But it has failed to attract attention from students. Largely due to the facts that many universities around the world do not offer relevant courses, developing new software has always been considered superior then to maintain existing systems. But owing to the arrival of the internet, and client-server technology. Many organizations wish to adapt their existing systems. Thus the trend has somewhat shifted towards software evolution and maintenance. And now, more than ever before we need software engineers who can work effectively with legacy systems. In this paper I wish to highlight importance of incorporating Reverse engineering concepts and techniques into software engineering curriculum. I will start with a brief overview of reverse engineering concepts, and then discuss advantages of teaching reverse engineering.
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
|
Cem Kaner (1998): Article 2B and Reverse Engineering, <u>(www.badsoftware.com)</u>, July 1998.
|
| |
3
|
Debbie Barsotti (2003): Giving back in a big way, (www.progressiveengineer.com), March 2003.
|
| |
4
|
Leon Moonen (2002). Exploring Software Systems, (PhD Thesis University of Amsterdam, Faculty of Natural Sciences, Mathematics and Computer Science), October 2002.
|
| |
5
|
Robert. B. Stone (Dept. of Basic Engineering), Daniel A. McAdams (Dept. of Mechanical Engineering), The Touchy -Feely Side of Engineering Education: Bringing hands-on Experience to Classroom, University of Missouri-Rolla.
|
| |
6
|
Hausi Muller, Kenny Wong, Scott Tilley. Understanding Software Systems Using Reverse Engineering Technology, Colloquium on Object Orientation in Databases and Reverse Engineering: The 62nd Congress of "L'Association Canadiene Francaise pour l'Avancement des Sciences (AFCAS)"; (May 16-17; Montreal; Quebec; Canada).
|
| |
7
|
Scott R. Tilley, Hausi A. Muller, Margaret-Anne Storey, Kenny Wong: Programmable Reverse Engineering. This work is supported by British Colombia advanced Systems Institute, IBM Software Solutions Toronto, and IRIS Center for Excellence, Natural Sciences and Engineering Council of Canada, Council of British Colombia, and the University of Victoria.
|
| |
8
|
Scott R. Tilley, Hausi A. Muller, Margaret-Anne Storey, Kenny Wong, Jens H. Jhanke, Dennis B. Smith(2000): Reverse Engineering: A Roadmap, Taken from "The Future of Software Engineering", Anthony Finkelstein (Ed.), ACM Press 2000.
|
| |
9
|
David Carrington, Soon-Kyeong Kim (2003): Teaching Software Design with Open Source Software, 33rd ASEE/IEEE Frontiers in Education Conference, 5--8 Nov 2003, and Boulder, CO.
|
| |
10
|
J. H. Andrews and H. L. Lutfiyya (2003): Experience with a Software Maintenance Project Course, IEEE Trans. Education, November 2003.
|
| |
11
|
Michael L. Nelson (1996): A Survey of Reverse Engineering and Program Comprehension, ODU CS 551-Software Engineering Survey, April 19 1996.
|
| |
12
|
S. Rugaber, K. Stirewart, and L. Wills (1995): The Interleaving Problem in Program Understanding, 2nd Working Conf. on Reverse Engineering, Toronto, Ontario, Canada, July 14-16 1995.
|
| |
13
|
|
| |
14
|
Anthony Finkelstein (UCL), Jeff Kramer (Imperial College London). Software Engineering: A Roadmap.
|
| |
15
|
J. Paul Gibson (2003): Software Reuse in Final Year Projects: A Code of Practice, Report NUIM-CS-2003-TR-12(National Uni. Of Ireland, Maynooth), November 2003.
|
| |
16
|
Cyrus Piekari, and Anton Chuvakin(2004): Security Warrior: Know your Enemy, O'REILLY, February 2004.
|
| |
17
|
Gabriel Torok, and Bill Leach (2003). Obfuscate It Thwart Reverse Engineering of Your Visual Basic .NET or C# Code, MSDN® Magazine the Microsoft Journal for Developers, November 2003.
|
| |
18
|
Brian Blong. Reverse Engineer to Learn .NET Better, <u>(www.blong.com/Conferences/DCon2003/ReverseEngineering/ReverseEngineering.htm.)</u>
|
 |
19
|
|
| |
20
|
Ahmed E. Hassan, and Richard C. Holt: The Small World of Reverse Engineering, Software Architecture Group (SWAG), School of Computer Science, University of Waterloo, Canada.
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Restructuring, reverse engineering, and reengineering
Additional Classification:
K.
Computing Milieux
K.3
COMPUTERS AND EDUCATION
K.3.1
Computer Uses in Education
General Terms:
Design,
Documentation
Keywords:
internet,
legacy systems,
obfuscate,
plagiarism,
program understanding,
reengineering,
software engineering,
software evolution and maintenance,
software reverse engineering
|