Evaluating emerging software development technologies: lessons learned from assessing aspect-oriented programming | IEEE Journals & Magazine | IEEE Xplore