Technique to alter the behavior of a software by appending or replacing functions at predetermined attachment points