An Exploratory Study of Programmers’ Analogical Reasoning and Software History Usage During Code Re-Purposing | IEEE Conference Publication | IEEE Xplore