Reverse engineering: progress along many dimensions