skip to main content
10.1145/2480362.2480602acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Dynamic decision tree for legacy use-case recovery

Published: 18 March 2013 Publication History

Abstract

In the context of reverse-engineering project we designed a use-case specification recovery technique for legacy information systems. With our technique, we can recover the alternative flows of each use-case of the system. It is based on a dynamic (i.e. runtime) analysis of the working of the system using execution traces. But "traditional" execution trace format do not contain enough information for this approach to work. Then we designed a new execution trace format together with the associated tool to get the program's dynamic decision tree corresponding to each of the use-case scenario. These trees are then processed to find the possible variants from the main scenario of each use-case. In this paper we first present our approach to the use-case specification recovery technique and the new trace format we designed. Then the decision tree compression technique is showed with a feasibility study. The contribution of the paper is our approach to the recovery of legacy systems' use-case, the new trace format and the decision tree processing technique.

References

[1]
Ball T. The Concept of Dynamic Analysis. Proc. 7th European Software Engineering Conference (ESEC'99) 1999
[2]
Bass L., Clements P., Kazman R. Software Architecture in Practice, 2nd edition. Adison-Wesley Inc. 2003
[3]
Costa J., Monteiro J. - Computation of the minimal set of paths for observability-based statement coverage. 15th IEEE Int. Conf. on Mixed Design of Integrated Circuits and Systems (MIXDES). 2008
[4]
Di Lucca G. A., Fasolino A. R., De Carlini U. Recovering Use Case models from Object-Oriented Code: a Thread-based Approach. Proc IEEE WCRE 2000
[5]
Dugerdil Ph., Jossi S. A Legacy System's Use-Cases Recovery Method. Proc ICSOFT, Athens, Greece. 2010
[6]
Dugerdil Ph., Jossi S. Empirical Assessment of Execution Trace Segmentation in Reverse Engineering. Proc ICSOFT 2008
[7]
Dugerdil Ph., Jossi S. Reverse-Engineering of an Industrial Software Using The Unified Process: An Experiment. Proc IASTED SEA. 2007
[8]
Dugerdil Ph. - A Reengineering Process based on the Unified Process. Proc. IEEE International Conference on Software Maintenance, 2006.
[9]
El-Ramly M., Stroulia E., Sorenson P. Mining System-User Interaction Traces for Use Case Models. Proc IEEE IWPC. 2002
[10]
Geoghegan S. J., Avresky D. R. - Method for Designing and Placing Check Sets Based on Control Flow Analysis of Programs. Proc. of the 7th IEEE Int. Symp. on Software Reliability Engineering, 1996.
[11]
Hamou-Lhadj A. Techniques to Simplify the Analysis of Execution Traces for Program Comprehension. PhD Thesis. Ottawa-Carleton Institute for Computer Science, University of Ottawa. 2005
[12]
Hamou-Lhadj A.,Lethbridge T. A Metamodel for the Compact but Lossless Exchange of Execution Traces. Journal of Software and Systems Modeling (SoSym), Springer, pp. 1--22, 2012.
[13]
Jacobson I., Booch G., Rumbaugh J. The Unified Software Development Process. Addison-Wesley Professional. 1999
[14]
JavaSlicer official website: http://www.st.cs.uni-saarland.de/javaslicer/
[15]
Leffingwell D, Widrig D. Managing software requirements, Addison Wesley. 2003
[16]
Li Q., Hu S., Chen P., Wu L., Chen W. Discovering and Mining Use Case Model in Reverse Engineering, Proc. IEEE FSKD. 2007
[17]
Paige M. R. - On Partitioning Program Graph. IEEE Transactions On Software Engineering, Vol. 3, No. 6. 1977
[18]
Qin T., Zhang L., Zhou Z., Hao D., Sun J. Discovering Use Cases from Source Code using the Branch-Reserving Call Graph. Proc. IEEE APSEC. 2003
[19]
Mark Weiser - Program Slicing. Proc. IEEE International Conference on Software Engineering (ICSE) 1981

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '13: Proceedings of the 28th Annual ACM Symposium on Applied Computing
March 2013
2124 pages
ISBN:9781450316569
DOI:10.1145/2480362
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 March 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. decision tree processing
  2. dynamic analysis
  3. use-case recovery

Qualifiers

  • Research-article

Funding Sources

  • UAS of Western Switzerland

Conference

SAC '13
Sponsor:
SAC '13: SAC '13
March 18 - 22, 2013
Coimbra, Portugal

Acceptance Rates

SAC '13 Paper Acceptance Rate 255 of 1,063 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media