Automatic identification of use cases from codes: A user’s goal driven approach

Based on the different roles played by base flow and alternative flow in the process to achieve user’s goals, we have found that loop structure is frequently used to implement alternative flow and/or to connect different use cases. This paper presents an approach to identify base flows and alternative flows of different use cases by traversing control flow graph in which back edges are eliminated. The effectiveness of the approach is verified by identification of the use case structure of an ATM system. The workload of human intervention of the approach is relatively slight, and the manner of human intervention closely follows the usual process of software comprehension.

[1]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[2]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[3]  Saurabh Sinha,et al.  Analysis and Testing of Programs with Exception Handling Constructs , 2000, IEEE Trans. Software Eng..

[4]  Giuseppe A. Di Lucca,et al.  Recovering use case models from object-oriented code: a thread-based approach , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[5]  M Pezzè,et al.  Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2006, Portland, Maine, USA, July 17-20, 2006 , 2006, ISSTA.

[6]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[7]  Eleni Stroulia,et al.  Mining system-user interaction traces for use case models , 2002, Proceedings 10th International Workshop on Program Comprehension.

[8]  Gregg Rothermel,et al.  Computation of interprocedural control dependence , 1998, ISSTA '98.

[9]  Tao Qin,et al.  Discovering use cases from source code using the branch-reserving call graph , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[10]  Saurabh Sinha,et al.  Analysis of programs with exception-handling constructs , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[11]  Ivar Jacobson,et al.  Use cases – Yesterday, today, and tomorrow , 2004, Software & Systems Modeling.

[12]  Ivar Jacobson,et al.  Use Cases and Aspects-Working Seamlessly Together , 2003, J. Object Technol..