The legal status of reverse engineering of computer software


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.


  1. A. Schulman, D.M., R. Brown, and R. Michels (1993), Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures.

  2. Arnold, R. (1993), Software Reengineering, IEEE Computer Society Press, Los Alamitos, CA.

    Google Scholar 

  3. Behrens, B. and R. Levary (1998), "Practical Legal Aspects of Software Reverse Engineering," Communications of the ACM 41, 2, 27-29.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. Cert (1999), "CERT Advisory CA-99-04-Melissa-Macro-Virus," advisories/CA-99-04-Melissa-Macro-Virus.htm.

  6. Chikofsky, E. and J. Cross (1990), "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software 7, 13-17.

  7. 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.

    Google Scholar 

  8. Copyright Law Review Committee (1995), Computer Software Protection: Final Report, Office of Legal Information and Publishing, Canberra.

    Google Scholar 

  9. 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.

  10. Freeman, L. (1997), Don't Let Missing Source Code Stall Your Year 2000 Project, Year 2000 Survival Guide.

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Hoffman, T. (1997), "Recovery Firm Hot on Heels of Missing Source Code," Computer World.

  14. Hookway, R. and M. Herdeg (1997), "Digital FX!32: Combining Emulation and Binary Translation," Digital Technical Journal 9, 1, 3-12.

    Google Scholar 

  15. Hotmail (1998), "Hotmail Corporation v Van Money Pie Inc," C98-20064 (N.D. Cal., April 20 1998).

  16. Livingston, B. and D. Straub (1997), Windows 95 Secrets, 4th Edition, IDG Books Worldwide.

  17. Livingston, B. and D. Straub (1998), Windows 98 Secrets, IDG Books Worldwide.

  18. May, C. (1987), "MIMIC: A Fast System/370 Simulator," In Proceedings SIGPLAN'87 Symposium on Interpreters and Interpretive Techniques, pp. 1-13.

  19. Nichols, K. (1998), Inventing Software-The Rise of "Computer-Related" Patents, Quorum Books, Westport, CT.

    Google Scholar 

  20. ProCD (1997), "ProCD Inc v Zeidenberg and Silken Mountain Web Services Inc," 86 F.3d 1447 (7th Cir.).

  21. Reasoning Systems (1992), Refine User's Guide, Palo Alto, CA.

  22. Sega (1992), "Sega Enterprises Ltd v Acccolade Inc," 977 F.2d 1510 (9th Circ.1992).

  23. Sites, R., A. Chernoff, M. Kirk, M. Marks, and S. Robinson (1992), "Binary Translation," Digital Technical Journal 4, 4, 1-16.

    Google Scholar 

  24. Sommerville, I. (1996), Software Engineering, 5th Edition, Addison-Wesley, Reading, MA.

    Google Scholar 

  25. Swartz, H. (1984), "The Case for Reverse Engineering," Business Computer Systems 3, 12, 22-25.

    Google Scholar 

  26. Thompson, T. (1996), "An Alpha in PC Clothing," Byte, 195-196.

  27. TRIPS (1993), "Agreement on Trade-Related Aspects of Intellectual Property Rights." Trumpet (1996), "Trumpet Software Pty Ltd v OzEmail Pty Ltd," 34 IRP 481.

  28. World Intellectual Property Organization (1996), "WIPO Copyright Treaty," eng/diplconf/distrib/94dc.htm.

Download references

Author information



Rights and permissions

Reprints and Permissions

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).

Download citation


  • Legal Status
  • Reverse Engineering
  • Copyright Protection
  • World Intellectual Property Organ
  • Assembly Code