The Graphs are very powerful and widely used tool for data representation in various fields of science and engineering. Due to their versatile representational power graphs are widely used for dealing with structural information in different domains such as pattern recognition, computer vision, networks, biochemical applications, psycho-sociology, image interpretation, and many others. In many applications, it is necessary to find the similarity between objects. When graphs are used for representation of structured objects, then the problem of measuring object similarity converts into the problem of determining the similarity of graphs, which is also known as graph matching. In order to achieve a good degree of graph matching the most usual way is to search for a graph isomorphism. A lot of work has been done in the area of graph isomorphism between two graphs or sub-graphs. Depending on the nature of the application, the problem turns to either exact or inexact graph isomorphism. In this study work, we are going to discuss the important theoretical foundations of graph matching along with the error-correcting graph matching approach.