A use-case driven method of architecture recovery for program understanding and reuse reengineering | IEEE Conference Publication | IEEE Xplore