Good paper https://hillside.net/europlop/HillsideEurope/Papers/EuroPLoP1999/1999_DemeyerEtAl_ReverseEngineering.pdf