Reverse-engineering someone else's software: is it legal? | IEEE Journals & Magazine | IEEE Xplore