Abstract:
In the process of software maintenance, the maintainer can obtain helpful information via reading the use case documents. The problem in real software maintenance is that the maintainer can only obtain out-of-date or incomplete information of the use case. To solve this problem, a novel approach is proposed to identify the use case from object-oriented source code in the function logic level of the software system. The analysis of the behavior protocol of the high level decade classes, which interact with user interface in an object-oriented system, is involved to help discovering the high level system running scenarios which are high level parts of the discovered use cases. Then the conventional branch-reserving call graph is extended to an object-oriented compatible version called object-oriented branch-reserving call graph (OO-BRCG). After appropriate pruning process applied on the OO-BRCG, each running path leftover in the pruned OO-BRCG is regarded as a low level part of the discovered use cases. Combining the high level and low level use parts can get the complete use cases. An experiment for this method on an object-oriented system in real world is performed. The results from the experiment show that this approach can gain a very high recall with acceptable loss on the precision. The experiment has confirmed the overall effectiveness of this approach.