Building Reverse Engineering Tools with Software Components: Ten Lessons Learned | IEEE Conference Publication | IEEE Xplore