Eliciting design requirements for maintenance-oriented ides: a detailed study of corrective and perfective maintenance tasks | Synapse