1. A system for identifying service candidates in legacy source code, the system comprising: a source code analyzer configured to perform structured and unstructured analyses of computer software source code having a plurality of procedures; a repository for storing results of said analyses; a target profile analyzer configured to analyze a target service description of a Service Oriented Architecture (SOA) and formulate a query therefrom; a search module configured to apply said query to said repository in order to identify elements in said source code that match said target service description, and combine any of said matches that are within a predefined distance from each other within said source code; a ranking engine configured to rank any of said combined matches in accordance with at least one predefined heuristic; and a procedure aggregator configured to aggregate said combined matches by their location in propinquity to said procedures, compare interface definitions defined for said service description to entry and exit points of any of said procedures to identify candidate procedures having input and output parameters similar to those of said interface definitions, and produce a ranked list of candidate procedures that map into said target service description.
1. A system for identifying service candidates in legacy source code, the system comprising: a source code analyzer configured to perform structured and unstructured analyses of computer software source code having a plurality of procedures; a repository for storing results of said analyses; a target profile analyzer configured to analyze a target service description of a Service Oriented Architecture (SOA) and formulate a query therefrom; a search module configured to apply said query to said repository in order to identify elements in said source code that match said target service description, and combine any of said matches that are within a predefined distance from each other within said source code; a ranking engine configured to rank any of said combined matches in accordance with at least one predefined heuristic; and a procedure aggregator configured to aggregate said combined matches by their location in propinquity to said procedures, compare interface definitions defined for said service description to entry and exit points of any of said procedures to identify candidate procedures having input and output parameters similar to those of said interface definitions, and produce a ranked list of candidate procedures that map into said target service description. 2. A system according to claim 1 wherein any of said elements is implemented in computer hardware and/or in computer software embodied in a computer-readable medium.