There are many software architecture recovery techniques which has been discovered which automatically recover software architecture from the software implementation. In this project we will propose a research approach for comparing different software architecture recovery techniques. A dependency (code dependency) is a file that something you are trying to install requires. It can be a library of a third-party organization. These dependencies effect the application but it is very hard to makeany software without using these external dependencies. But these code dependencies have some disadvantages too. Firstly, we will specify about the code dependencies and their impact on software design. Then we will describe some software architecture recovery techniques. We will take a project (Bash) as our research base and we will apply these recovery techniques to the project. We will use some software testing tools to compare these algorithms (software recovery techniques) with each project.