Reverse engineering of computer software has assumed greater importance in recent years because of the need to examine legacy code to remove the year 2000 bug. There are different types of reverse engineering based on the level of abstraction of the code to be reengineered; machine code, assembly code, source code or even CASE code. We describe the different types of reverse engineering and the extent of copyright protection for software. The most common uses of reverse engineering are described. This provides for a comparative overview of the legal standing on reverse engineering at the international level. We propose challenges to the global electronic community in relation to existing and future legislation in the area of reverse engineering and protection of digital works.
This is a preview of subscription content, access via your institution.
A. Schulman, D.M., R. Brown, and R. Michels (1993), Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures.
Arnold, R. (1993), Software Reengineering, IEEE Computer Society Press, Los Alamitos, CA.
Behrens, B. and R. Levary (1998), "Practical Legal Aspects of Software Reverse Engineering," Communications of the ACM 41, 2, 27-29.
Blaha, M. (1998), "On Reverse Engineering of Vendor Databases," In Proceedings of the 5th Working Conference on Reverse Engineering, IEEE Computer Society, Honolulu, USA, pp. 183-190.
Cert (1999), "CERT Advisory CA-99-04-Melissa-Macro-Virus," http://www.cert.org/ advisories/CA-99-04-Melissa-Macro-Virus.htm.
Chikofsky, E. and J. Cross (1990), "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software 7, 13-17.
Cifuentes, C. and A. Fitzgerald (1997), "Copyright in Shareware Software Distributed on the Internet-The TrumpetWinsock Case," In Proceedings of the International Conference on Software Engineering, ACM Press, Boston, USA, pp. 456-464.
Copyright Law Review Committee (1995), Computer Software Protection: Final Report, Office of Legal Information and Publishing, Canberra.
European Council Directive (1991), "European Council, Directive on the Legal Protection of Computer Programs (14 May 1991)," 01/250/EEC, 1991, O.J. L122, May 17, 1992.
Freeman, L. (1997), Don't Let Missing Source Code Stall Your Year 2000 Project, Year 2000 Survival Guide.
Harrison, J., P. Bailes, A. Berglas, and I. Peake (1995), "Re-engineering 4GL-based Information System Applications," In Proceedings of the Asia Pacific Software Engineering Conference, IEEE-CS Press, Brisbane, Australia, pp. 448-457.
Harrison, J. and W. Lim (1998), "Automated Reverse Engineering of Legacy 4GL Information Systems Applications using the ITOC Workbench," In Proceedings of the 10th International Conference on Advanced Information System Engineering, Springer Verlag, Pisa, Italy, pp. 41-58.
Hoffman, T. (1997), "Recovery Firm Hot on Heels of Missing Source Code," Computer World.
Hookway, R. and M. Herdeg (1997), "Digital FX!32: Combining Emulation and Binary Translation," Digital Technical Journal 9, 1, 3-12.
Hotmail (1998), "Hotmail Corporation v Van Money Pie Inc," C98-20064 (N.D. Cal., April 20 1998).
Livingston, B. and D. Straub (1997), Windows 95 Secrets, 4th Edition, IDG Books Worldwide.
Livingston, B. and D. Straub (1998), Windows 98 Secrets, IDG Books Worldwide.
May, C. (1987), "MIMIC: A Fast System/370 Simulator," In Proceedings SIGPLAN'87 Symposium on Interpreters and Interpretive Techniques, pp. 1-13.
Nichols, K. (1998), Inventing Software-The Rise of "Computer-Related" Patents, Quorum Books, Westport, CT.
ProCD (1997), "ProCD Inc v Zeidenberg and Silken Mountain Web Services Inc," 86 F.3d 1447 (7th Cir.).
Reasoning Systems (1992), Refine User's Guide, Palo Alto, CA.
Sega (1992), "Sega Enterprises Ltd v Acccolade Inc," 977 F.2d 1510 (9th Circ.1992).
Sites, R., A. Chernoff, M. Kirk, M. Marks, and S. Robinson (1992), "Binary Translation," Digital Technical Journal 4, 4, 1-16.
Sommerville, I. (1996), Software Engineering, 5th Edition, Addison-Wesley, Reading, MA.
Swartz, H. (1984), "The Case for Reverse Engineering," Business Computer Systems 3, 12, 22-25.
Thompson, T. (1996), "An Alpha in PC Clothing," Byte, 195-196.
TRIPS (1993), "Agreement on Trade-Related Aspects of Intellectual Property Rights." Trumpet (1996), "Trumpet Software Pty Ltd v OzEmail Pty Ltd," 34 IRP 481.
World Intellectual Property Organization (1996), "WIPO Copyright Treaty," http://www.wipo.org/ eng/diplconf/distrib/94dc.htm.
About this article
Cite this article
Cifuentes, C., Fitzgerald, A. The legal status of reverse engineering of computer software. Annals of Software Engineering 9, 337–351 (2000). https://doi.org/10.1023/A:1018993212326
- Legal Status
- Reverse Engineering
- Copyright Protection
- World Intellectual Property Organ
- Assembly Code