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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Bandinelli, S., Di Nitto, E., Fuggetta, A.: Supporting cooperation in the SPADE-1 environment. IEEE Trans. on Software Engineering 22(12), 841–865 (1996)
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)
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)
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)
Chikofsky, E.J., Cross, J.H.: Reverse Engineering and Design Recovery. A Taxonomy 7(1), 13–17 (1990)
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)
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)
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)
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)
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)
Duda, R.O., Hart, P.E., Stork, D.G.: Pattern Classification, pp. 576–581. Wiley-Interscience Publication, John Wiley & Sons, Inc., New York
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)
Eder, J., Panagos, E.: Towards Distributed Workflow Process Management. AT&T Research Labs (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Menlo Park (1995)
Harman, D.: Ranking Algorithms. In: Information Retrieval: Data Structures and Algorithms, pp. 363–392. Prentice-Hall, Englewood Cliffs (1992)
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)
IEEE Standard for Software Maintenance. IEEE Std 1219-1998. The Institute of Electrical and Electronics Engineers, Inc. (1998)
Lehman, M.M.: Lifecycles and the Laws of Software Evolution. Proc. of IEEE, Special Issue on Software Engineering 19, 1060–1076 (1980)
Lehman, M.M.: Program Evolution. Journal of Information Processing Management 19(1), 19–36 (1984)
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)
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)
Levenshtein, V.L.: Binary codes capable of correcting deletions, insertions, and reversals. Cybernetics and Control Theory 10, 707–710 (1966)
Marshall, C.: Enterprise Modellingwith UML: Designing Successful Software trough Business Analysis. Addison-Wesley, Reading (2000)
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)
Reasoning Systems, REFINE User’s Guide, Reasoning Systems, Palo Alto, CA (1989)
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)
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)
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)
Tonella, P., Potrich, A.: Reverse Engineering of Object Oriented Code. Springer Science, Heidelberg (2002)
Zelkowitz, M., Shaw, A., Gannon, J.: Principles of Software Engineering and Design. Prentice-Hall, Englewood Cliffs (1979)
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)
Wong, K.: Rigi blurb (1996), http://rigi.cs.uvic.ca/downloads/papers/pdf/blurb-rigi.pdf
Workflow Management Coalition: Workflow Management Coalition Interface 1: Process Definition Interchange Process Model. Doc. no. WFMC-TC-1016-P (1999)
Author information
Authors and Affiliations
Editor information
Rights 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)