July 26, 2021
July 26, 2021
July 19, 2022
Software Engineering Division
Reverse Software Engineering as a Project-Based Learning Tool
Although the concept of reverse engineering is used in many fields, in the context of software engineering and security, it has come to include fields such as binary code patching, malware analysis, debugging, legacy compatibility, and network protocols analysis, to name a few. Despite its broad use in software engineering, however, there is little work in computer science education that considers how reverse engineering can be taught as a part of a computer science course. This may be a result of the compressed timetable of a four-year college education in computer science, where the need for the courses in the core curriculum, as well as the upper-level computer science electives, constantly find themselves in tension with regard to the short timetable necessary to produce a qualified computer scientist. Additionally, the constant changes in the discipline demand an ever-changing and updating curriculum. So, it is understandably difficult to find where and how the topic of reverse software engineering can fit within the curriculum; however, it has also become clear that it is a necessary inclusion.
This paper will document a long-term study of the effectiveness of using a reverse engineering project in an introductory computer systems course. We will report on the development of a series of class exercises that are inserted incrementally into a course. This will lead students to a deeper understanding of computer systems, the continuing need for low-level understanding of software, and the development of critical thinking and problem-solving skills in the discernment and analysis of an unknown binary file.
Fry, C. C., & Steudel, Z. M., & Hunter, J. C. (2021, July), Reverse Software Engineering as a Project-Based Learning Tool Paper presented at 2021 ASEE Virtual Annual Conference Content Access, Virtual Conference. https://peer.asee.org/37681
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2021 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015