Improving software maintenance by learning from the past: a case study | IEEE Journals & Magazine | IEEE Xplore