A Software Architecture Reconstruction Method

Changes to a software system during implementation and maintenance can cause the architecture of a system to deviate from its documented architecture. If design documents are to be useful, maintenance programmers must be able to easily evaluate how closely the documents conform to the code they are meant to describe. Software architecture recovery, which deals with the extraction and analysis of a system’s architecture, has gained more tool support in the past few years. However, there is little research on developing effective and efficient architectural conformance methods. In particular, given the increasing emphasis on patterns and styles in the software engineering community, a method needs to explicitly aid a user in identifying architectural patterns.

[1]  James J. Horning,et al.  Software Hut: A Computer Program Engineering Project in the Form of a Game , 1977, IEEE Transactions on Software Engineering.

[2]  Rick Kazman Tool support for architecture analysis and design , 1996, ISAW '96.

[3]  Renato De Mori,et al.  Localization of design concepts in legacy systems , 1994, Proceedings 1994 International Conference on Software Maintenance.

[4]  C. V. Ramamoorthy,et al.  The C Information Abstraction System , 1990, IEEE Trans. Software Eng..

[5]  Qiang Yang,et al.  Program understanding as constraint satisfaction , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[6]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[7]  Rick Kazman,et al.  View extraction and view fusion in architectural understanding , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[8]  Rick Kazman,et al.  Assessing architectural complexity , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[9]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[10]  David Notkin,et al.  Lightweight lexical source model extraction , 1996, TSEM.

[11]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[12]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[13]  Hausi A. Müller,et al.  Programmable Reverse Engineering , 1994, Int. J. Softw. Eng. Knowl. Eng..

[14]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[15]  Margaret-Anne Storey,et al.  Manipulating And Documenting Software Structures , 1995 .

[16]  Joëlle Coutaz,et al.  A design space for multimodal systems: concurrent processing and data fusion , 1993, INTERCHI.

[17]  Melissa P. Chase,et al.  Manipulating Recovered Software Architecture Views , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[18]  Forrest Shull,et al.  AN INDUCTIVE METHOD FOR DISCOVERING DESIGN PATTERNS FROM OBJECT-ORIENTED SOFTWARE SYSTEMS , 1998 .

[19]  J. Howard Johnson,et al.  Identifying redundancy in source code using fingerprints , 1993, CASCON.

[20]  Nasa,et al.  A metamodel for the runtime architecture of an interactive system: the UIMS tool developers workshop , 1992, SGCH.

[21]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[22]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[23]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .