The implications of non-functional requirements for the reengineering of legacy code | IEEE Conference Publication | IEEE Xplore