Skip to main content

A Visual Framework for the Definition and Execution of Reverse Engineering Processes

  • Conference paper
  • 929 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNIP,volume 5188))

Abstract

In this paper we present a visual framework developed as an Eclipse plug-in to define and execute reverse engineering processes aimed at comprehending traditional and web based information systems. Processes are defined in terms of UML activity diagrams, where predefined or newly developed software components can be associated to each activity. Components implemented using either traditional programming languages or software environments for data analysis (i.e., MATLAB or R) can be reused. Once the process has been fully defined the software engineer executes it to reverse engineering and comprehend software systems. The proposed visual framework has been evaluated on two case studies.

This work has been supported by the project METAMORPHOS under grant PRIN-2006-2006098097.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anquetil, N., Lethbridge, T.C.: Experiments with Clustering as a Software Remodularization Method. In: Proc. of 6th Working Conference on Reverse Engineering, pp. 235–255. IEEE CS Press, Los Alamitos (1999)

    Google Scholar 

  2. Aversano, L., De Lucia, A., Gaeta, M., Ritrovato, P., Stefanucci, S., Villani, M.L.: Managing Coordination and Cooperation in Distributed Software Processes: the GENESIS Environment. Software Process Improvement and Practice 9(4), 239–263 (2004)

    Article  Google Scholar 

  3. Bandinelli, S., Di Nitto, E., Fuggetta, A.: Supporting cooperation in the SPADE-1 environment. IEEE Trans. on Software Engineering 22(12), 841–865 (1996)

    Article  Google Scholar 

  4. Canfora, G., Cimitile, A.: A Reference Life-cycle for Legacy Systems. In: Proc. of the ICSE Workshop on Migration Strategies for Legacy Systems, Boston, MA (1997)

    Google Scholar 

  5. Canfora, G., Cimitile, A., De Carlini, U., De Lucia, A.: An extensible system for source code analysis. IEEE Trans. on Software Engineering 24(9), 721–740 (1998)

    Article  Google Scholar 

  6. Canfora, G., De Lucia, A., Di Lucca, G.A.: A System for Generating Reverse Engineering Tools: A Case Study of Software Modularisation. Automated Software Engineering 6(3), 233–263 (1999)

    Article  Google Scholar 

  7. Chikofsky, E.J., Cross, J.H.: Reverse Engineering and Design Recovery. A Taxonomy 7(1), 13–17 (1990)

    Google Scholar 

  8. Cugola, G., Di Nitto, E., Fuggetta, A.: The JEDI event-based infrastructure and its application to the development of the OPSS WfMS. IEEE Transactions on Software Engineering 27(9), 827–850 (2001)

    Article  Google Scholar 

  9. De Lucia, A., Scanniello, G., Tortora, G.: Identifying Similar Pages in Web Applications using a Competitive Clustering Algorithm. Journal on Software Maintenance and Evolution 19(5), 281–296 (2007)

    Article  Google Scholar 

  10. Deerwester, S., Dumais, S.T., Furnas, G.W., Landauer, T.K., Harshman, R.: Indexing by Latent Semantic Analysis. Journal of the American Society for Information Science (41), 391–407 (1990)

    Article  Google Scholar 

  11. Di Lucca, G.A., Fasolino, A.R., De Carlini, U., Pace, F., Tramontana, P.: Comprehending web applications by a clustering based approach. In: Proc. of the 10th International Workshop on Program Comprehension, pp. 261–270. IEEE CS Press, Los Alamitos (2002)

    Chapter  Google Scholar 

  12. Di Nitto, E., Lavazza, L., Schiavoni, M., Tracanella, E., Trombetta, M.: Deriving executable process description from UML. In: Proceedings of 24th International Conference on Software Engineering, Orlando, Florida, pp. 155–165. ACM Press, New York (2002)

    Google Scholar 

  13. Duda, R.O., Hart, P.E., Stork, D.G.: Pattern Classification, pp. 576–581. Wiley-Interscience Publication, John Wiley & Sons, Inc., New York

    Google Scholar 

  14. Ducasse, S., Girba, T., Lanza, M., Demeyer, S.: Moose: a Collaborative and Extensible Reengineering Environment. Tools for Software Maintenance and Reengineering, RCOST / Software Technology Series, Franco Angeli, pp. 55–71 (2005)

    Google Scholar 

  15. Eder, J., Panagos, E.: Towards Distributed Workflow Process Management. AT&T Research Labs (1999)

    Google Scholar 

  16. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Menlo Park (1995)

    Google Scholar 

  17. Harman, D.: Ranking Algorithms. In: Information Retrieval: Data Structures and Algorithms, pp. 363–392. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  18. Heimann, P., Joeris, G., Krapp, C.A., Westfechtel, B.: DYNAMITE: dynamic task nets for software process management. In: Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, pp. 331–341 (1996)

    Google Scholar 

  19. IEEE Standard for Software Maintenance. IEEE Std 1219-1998. The Institute of Electrical and Electronics Engineers, Inc. (1998)

    Google Scholar 

  20. Lehman, M.M.: Lifecycles and the Laws of Software Evolution. Proc. of IEEE, Special Issue on Software Engineering 19, 1060–1076 (1980)

    Google Scholar 

  21. Lehman, M.M.: Program Evolution. Journal of Information Processing Management 19(1), 19–36 (1984)

    Article  Google Scholar 

  22. Kaiser, G.E., Dossick, S.E., Jiang, W., Yang, J.J., Xi Ye, S.: WWW-based Collaboration Environments with Distributed Tool Services. World Wide Web Journal 1(1), 3–25 (1998)

    Article  Google Scholar 

  23. Kuhn, A., Ducasse, S., Girba, T.: Enriching reverse engineering with semantic clustering. In: Proc. of 12th Working Conference on Reverse Engineering, pp. 10–20. IEEE CS Press, Los Alamitos (2005)

    Google Scholar 

  24. Levenshtein, V.L.: Binary codes capable of correcting deletions, insertions, and reversals. Cybernetics and Control Theory 10, 707–710 (1966)

    MathSciNet  Google Scholar 

  25. Marshall, C.: Enterprise Modellingwith UML: Designing Successful Software trough Business Analysis. Addison-Wesley, Reading (2000)

    Google Scholar 

  26. Mcqueen, J.: Some methods for classification and analysis of multivariate observations. In: Proc. of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, pp. 281–297 (1967)

    Google Scholar 

  27. Reasoning Systems, REFINE User’s Guide, Reasoning Systems, Palo Alto, CA (1989)

    Google Scholar 

  28. Ricca, F., Tonella, P.: Using Clustering to Support the Migration from Static to Dynamic Web Pages. In: Proc. of International Workshop on Program Comprehension, Portland, Oregon, USA, pp. 207–216 (2003)

    Google Scholar 

  29. Schwanke, R.W.: An Intelligent Tool for Re-engineering Software Modularity. In: Proc. of the 13th International Conference on Software Engineering, pp. 83–92 (1991)

    Google Scholar 

  30. Tonella, P., Ricca, F., Pianta, E., Girardi, C.: Restructuring Multilingual Web Sites. In: Proc. of International Conference on Software Maintenance, Montreal, Canada, pp. 290–299. IEEE CS Press, Los Alamitos (2002)

    Google Scholar 

  31. Tonella, P., Potrich, A.: Reverse Engineering of Object Oriented Code. Springer Science, Heidelberg (2002)

    Google Scholar 

  32. Zelkowitz, M., Shaw, A., Gannon, J.: Principles of Software Engineering and Design. Prentice-Hall, Englewood Cliffs (1979)

    MATH  Google Scholar 

  33. Wiggerts, T.A.: Using Clustering Algorithms in Legacy Systems Remodularization. In: Proceedings of 4th Working Conference on Reverse Engineering, pp. 33–43. IEEE CS Press, Los Alamitos (1997)

    Chapter  Google Scholar 

  34. Wong, K.: Rigi blurb (1996), http://rigi.cs.uvic.ca/downloads/papers/pdf/blurb-rigi.pdf

  35. Workflow Management Coalition: Workflow Management Coalition Interface 1: Process Definition Interchange Process Model. Doc. no. WFMC-TC-1016-P (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Monica Sebillo Giuliana Vitiello Gerald Schaefer

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

De Lucia, A., Risi, M., Rizzi, L., Scanniello, G. (2008). A Visual Framework for the Definition and Execution of Reverse Engineering Processes. In: Sebillo, M., Vitiello, G., Schaefer, G. (eds) Visual Information Systems. Web-Based Visual Information Search and Management. VISUAL 2008. Lecture Notes in Computer Science, vol 5188. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85891-1_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85891-1_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85890-4

  • Online ISBN: 978-3-540-85891-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics