Software clustering using dynamic analysis and static dependencies