skip to main content
10.1145/1244002.1244320acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Software reengineering with architecture decomposition

Published: 11 March 2007 Publication History

Abstract

Software reengineering involves the activities of studying target system's architecture. However, enterprise legacy software systems tend to be large and complex. The analysis of system architecture therefore becomes a difficult task. To solve the problem, we propose an approach that decomposes software architecture to reduce the complexity associated with analyzing large scale architecture artifacts. Our study has shown that architecture decomposition is an efficient way to limit the complexity and risk associated with the re-engineering activities of a large legacy system. It divides the system into a collection of meaningful modular parts with low coupling, high cohesion, and minimizes the interface, thus to facilitate the incremental approach to implement the progressive software re-engineering process. To fulfill this goal, we have developed two major techniques to decompose legacy system architecture. In this paper, we present them in detail. The approach is also supported by our automated reverse engineering tools, and the preliminary experimental result shows our approach is very promising.

References

[1]
F. Balmas and Harald Wertz, "Identifying Information Needs for Program Understanding: an Iterative Approach", Proceedings of 7th International Conference on Reverse Engineering for Information Systems, Lyon (France) July 2001.
[2]
L. Bass, P. Clements, R. Kazman, "Software Architecture in Practice" (2nd edition), Addison-Wesley 2003.
[3]
J. Bergey, D. Smith, N. Weiderman, and S. Wood. "Options analysis for reengineering (OAR): Issues and conceptual approach". Technical Note, Carnegie Mellon Software Engineering Institute CMU/SEI, TN, 2000.
[4]
A. Bianchi, D. Caivano, G. Visaggio, "Method and Process for Iterative Reengineering Data in Legacy System", Proc. IEEE Working Conference on Reverse Engineering, November 2000
[5]
Liam O'Brien Christoph Stoermer, Chris Verhoef, "Software Architecture Reconstruction: Practice Needs and Current Approaches", Carnegie Mellon Software Engineering Institute, Technical Report, CMU/SEI-TR-024, 2002
[6]
G. Canfora, A. Cimitile, A. De Lucia, G. A. Di Lucca, "Decomposing Legacy Systems into Objects: An Eclectic Approach", Information and Software Technology, vol. 43, no. 6, 2001, pp. 401--412.
[7]
A. Eden, R. Kazman, "Architecture, Design, and Implementation", Proceedings of the 25th International Conference on Software Engineering (ICSE 25), (Portland, OR), pp. 149--159, May 2003.
[8]
J. Eloff, "Software Restructuring: Implementing a Code Abstraction Transformation", ACM International Conference Proceedings of SAICSIT 2002,
[9]
Daniel Jackson and Martin Rinard. "Software Analysis: a Road Map", "The Future of Software Engineering", Anthony Finkelstein (Ed.), ACM Press 2000.
[10]
Rainer Koschke, "Atomic Architectural Component Recovery for Program Understanding and Evolution", In Proceedings of the International Conference on Software Maintenance, Montréal, Canada, October 2002.
[11]
Tobias Kuipers and Leon Moonen. "Types and Concept Analysis for Legacy Systems". In Proceedings of the International Workshop on Programming Comprehension (IWPC 2000). IEEE Computer Society, June 2000.
[12]
A. De Lucia, G. A. Di Lucca, G. Canfora, A. Cimitile, "Decomposing Legacy Programs: A First Step Towards Migrating to Client-Server Platforms", The Journal of Systems and Software, vol. 54, 2000, pp. 99--110.
[13]
Martin Ludger, Anke Giesl, Johannes Martin. "Dynamic Component Program Visualisation". In Proceedings of the 9th Working Conference for Reverse Engineering, Richmond, Virginia, October 2002.
[14]
Isabel Michiels, Dirk Deridder, Herman Tromp and Andy Zaidman, "Identifying Problems in Legacy Software", Elisa ICSM workshop 2003
[15]
David Notkin, "Longitudinal program analysis", ACM SIGSOFT Software Engineering Notes, Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, Volume 28 Issue 1, November 2002
[16]
K. Rainer, "Atomic Architectural Component Recovery for Program Understanding and Evolution", Ph.D Thesis, Institut für Informatik, Universität Stuttgart 2000
[17]
C. Stoermer, L. O'Brien, C. Verhoef, "Moving Towards Quality Attribute Driven Software Architecture Reconstruction", Working Conference on Reverse Engineering, Victoria, BC, Canada, November 13th - 16th, 2003
[18]
A. van Deursen and L. Moonen. "Exploring Legacy Systems Using Types". In Proceedings 7th Working Conference on Reverse Engineering, (WCRE'2000), pages 32--41. IEEE Computer Society, 2000.
[19]
GNU Project: Source-Navigator collaborative project, http://sourcenav.sourceforge.net/contrib.html, 2006

Cited By

View all
  • (2010)Towards Runtime Plug-and-Play SoftwareProceedings of the 2010 10th International Conference on Quality Software10.1109/QSIC.2010.14(365-368)Online publication date: 14-Jul-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '07: Proceedings of the 2007 ACM symposium on Applied computing
March 2007
1688 pages
ISBN:1595934804
DOI:10.1145/1244002
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: 11 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture
  2. dynamic analysis
  3. software re-engineering

Qualifiers

  • Article

Conference

SAC07
Sponsor:

Acceptance Rates

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)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2010)Towards Runtime Plug-and-Play SoftwareProceedings of the 2010 10th International Conference on Quality Software10.1109/QSIC.2010.14(365-368)Online publication date: 14-Jul-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media