A connection is established between the source code and the business requirements of a software system. User specified keyword that reflect business requirements are expanded using an ontology and a thesaurus. The augmented list of user specified keywords are matched to the automatically annotated source code. The results of the match along with call graph of the source code are used to generate workflows that provide a mapping from the source code to business logic.