A LEGACY SYSTEMS USE CASE RECOVERY METHOD

Philippe Dugerdil, Sebastien Jossi

2010

Abstract

During the development of a legacy system reverse engineering method we developed a technique to help with the recovery of the system’s use-cases. In fact, our reverse-engineering method starts with the re-documentation of the system’s use-case by observing its actual users. But these use-cases are never complete and accurate. In particular, the many alternative flows are often overlooked by the users. This paper presents our use-case recovery methodology as well as the techniques we implemented to identify all the flows of the legacy system’s use-case. Starting from an initial use-case based on the observation of the users, we gather the corresponding execution trace by running the system according to this use-case. The analysis of this execution trace coupled with a static analysis of the source code lets us find the possible alternative execution paths of the system. The execution conditions for these paths are analyzed to establish the link to the use-case level. This lets us synthesize alternative flows for the use-case. Next we run the system again following these alternative flows to uncover possible new alternative paths, until one converges to a stable use-case model.

References

  1. Bass L., Clements P., Kazman R. 2003. Software Architecture in Practice, 2nd edition. Adison-Wesley Inc.
  2. Jacobson I., Booch G., Rumbaugh J. 1999. The Unified Software Development Process. Addison-Wesley Professional.
  3. Roche Ch. 2006. How Words Map Concepts . Proc. 10th IEEE EDOCW.
  4. Binkley D. W., Gallagher K. B. 1996. Program Slicing. in: Advances in Computers, vol 43, Academic Press.
  5. Gamma E., Helm R., Johnson R., Vlissides J. 1005. Design Patterns. Elements of Reusable Object Oriented Software. Addison-Wesley Inc.
  6. Ko A., Myers B., 2008. Debugging reinvented: asking and answering why and why not questions about program behavior, Proc. IEEE ICSE.
  7. Li Q., Hu S., Chen P., Wu L., Chen W. 2007. Discovering and Mining Use Case Model in Reverse Engineering, Proc. IEEE FSKD.
  8. Hamou-Lhadj A., Braun E., Amyot D., Lethbridge T. 2005. Recovering Behavioral Design Models from Execution Traces. Proc IEEE CSMR.
  9. El-Ramly M., Stroulia E., Sorenson P. 2002. Mining System-User Interaction Traces for Use Case Models. Proc IEEE IWPC.
  10. Di Lucca G. A., Fasolino A. R., De Carlini U. 2000. Recovering Use Case models from Object-Oriented Code: a Thread-based Approach. Proc IEEE WCRE
  11. Qin T., Zhang L., Zhou Z., Hao D., Sun J. 2003. Discovering Use Cases from Source Code using the Branch-Reserving Call Graph. Proc. IEEE APSEC.
  12. Wisconsin Program-Slicing Project. 2009, www.cs.wisc. edu/ wpis/html/
  13. JSlice 2009, jslice.sourceforge.net/
  14. Kaffee 2009, www.kaffe.org/
  15. Indus 2009 indus.projects.cis.ksu.edu/
  16. CodeSonar 2009. www.grammatech.com/products/code sonar/ overview.html
  17. CodeSurfer 2009. www.grammatech.com/products/code surfer/ overview.html
  18. Leffingwell D, Widrig D. 2003 Managing software requirements, Addison Wesley.
  19. Bittner K. 2001. Why use cases are not “functions” - The Rational Edge.
  20. Dugerdil Ph., Jossi S. 2008. Empirical Assessment of Execution Trace Segmentation in Reverse Engineering. Proc ICSOFT
  21. Dugerdil Ph., Jossi S. 2007 Reverse-Engineering of an Industrial Software Using The Unified Process: An Experiment. Proc IASTED SEA.
  22. Javacc 2010 https://javacc.dev.java.net/
  23. Java 1.5 Parser and AST 2010 javacc.dev.java.net/servlets/ ProjectDocumentView?documentID=44514&showInf o=true
  24. FastUML 2010 - sourceforge.net/projects/fastuml/
Download


Paper Citation


in Harvard Style

Dugerdil P. and Jossi S. (2010). A LEGACY SYSTEMS USE CASE RECOVERY METHOD . In Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-23-2, pages 232-237. DOI: 10.5220/0003038602320237


in Bibtex Style

@conference{icsoft10,
author={Philippe Dugerdil and Sebastien Jossi},
title={A LEGACY SYSTEMS USE CASE RECOVERY METHOD},
booktitle={Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2010},
pages={232-237},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003038602320237},
isbn={978-989-8425-23-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - A LEGACY SYSTEMS USE CASE RECOVERY METHOD
SN - 978-989-8425-23-2
AU - Dugerdil P.
AU - Jossi S.
PY - 2010
SP - 232
EP - 237
DO - 10.5220/0003038602320237