For many enterprises, reacting to fast changes to their business process is key to maintaining their competitive edge in the market. However, developers often must manually locate and modify business logics in source code, in order to meet new requirements. This situation has caused system maintenance costs to escalate while budgets and corporate spending shrink. In this paper, we propose an automatic approach that recovers business processes from source code and refines them using control structure information in as-specified workflows (a workflow is a computerized representation of a business process). By using the as-specified workflows to guide our recovery, we can limit the search scope for business logics in the source code and we can locate explicit associations between artifacts in the as-specified and as-implemented workflows. Our case studies illustrate the effectiveness of this structural based business process recovery approach.