10th Asia-Pacific Software Engineering Conference (APSEC'03)
Discovering Use Cases from Source Code using the Branch-Reserving Call Graph
Chiang Mai, Thailand
December 10-December 12
ISBN: 0-7695-2011-1
Understanding the behavior of a software system is an important problem in program comprehension. Use cases have been accepted as an effective means for describing behavioral requirements for a software system. In this paper, we propose a novel approach for obtaining use cases from source code. The central idea of our approach is to use the Branch-Reserving Call Graph (BRCG) as the intermediate representation of a software program. We also provide strategies for pruning the BRCG to avoid generating too many fine-grained use cases. Use cases, which may just undergo some minor modifications from human experts, can be generated through traversing the pruned BRCG. The contributions of our approach are three-fold. i) This method represents a compromised approach, which differs from both the static and dynamic approaches for use case discovery. ii) This method takes into consideration the fact that it is the branch statements that separate one use case from another in source code. iii) This method can avoid intensive human involvement in determining the final set of use cases. We have also performed a case study for this method on a GNU system.
Index Terms:
Use Case Discovery, Use Case, Program Comprehension, Reverse Engineering, Branch-Reserving Call Graph
Citation:
Tao Qin, Lu Zhang, Zhiying Zhou, Dan Hao, Jiasu Sun, "Discovering Use Cases from Source Code using the Branch-Reserving Call Graph," apsec, pp.60, 10th Asia-Pacific Software Engineering Conference (APSEC'03), 2003