Software maintenance is one of the major concerns of software developers and industries. Maintenance highly depends on the understanding of the nature of the system and the relation between modules. However, these relations rely on many factors and all of them can`t be determined and studied clearly. One of the most important issues in software maintenance is to propagate the changes when a ... [Show full abstract] module is modified within the system that is to determine the modules which are affected from the change and determine the next module to trace from the set of affected modules. For this, the modules within the system are represented using a directed graph. When a module is modified a heuristic function will be used to determine the next module to be modified. The change studied in this study is the modification within modules not the insertion or deletion of modules.