This thesis addresses dependence based concept assignment using slicing based dependence analysis on concept assignment.Concepts are domain level entities concerned with the real world. Although concepts are defined at the domain level, the source code of a program must, nonetheless, express these concepts in program code denotations. Traditional concept assignment maps the low level of source code to the high level of the domain through the medium of associations. These associations typically take the form of comments and identifiers.Previous work on the combination of dependence analysis with concept assignment gave the definition of either extending concepts to concept slices or abbreviating concepts to key statements. However, there are no empirical studies to show the feasibility of these two approaches.In this thesis, we propose an improved key statement analysis algorithm and empirically study executable concept slicing and key statement analysis using ten subject programs with more than 600 concept bindings identified. We define dependence based metrics to evaluate both approaches and to provide evidence of both advantages and disadvantages. Based on these foundations, we propose a new combination technique -concept refinement, which adopts the advantages and overcome the disadvantages of previous two approaches.The results for the same programs with the same concept bindings showed that concept refinement can produce dependence based concept bindings. The refined concept binding is smaller, but with similar impact and higher cohesion than the original HB-CA concept binding. Therefore, it becomes more precise after refinement; the refined concept binding is much smaller than the executable concept slice with respect to the original HB-CA concept binding. These findings suggest that the refined concept binding is more reasonable in size for program comprehension.Furthermore, the refined concept binding can be extracted from most of the original HB-CA concept bindings, thus concept refinement is more appropriate than the key statement analysis.
DeclarationThe work presented in this thesis is original work undertaken between September