Interface protocol inference to aid understanding legacy software components