Assessment of design patterns during software reengineering: lessons learned from a large commercial project | IEEE Conference Publication | IEEE Xplore