| D.R. Harris, H.B. Reubenstein, and A.S. Yeh. Reverse engineering to the architectural level. In D. Perry, editor, Proceedings of the 17th proc International Conference on Software Engineering. IEEE Computer Society Press, April 1995. |
....a link between two components, one can see the relations represented. This level of interaction does not seem to be provided in Bowman s approach. 6. 2 Harris and Associates Harris and associates outline a framework for architecture reconstruction using a combined bottom up and top down approach [Harris 95] The framework consists of three components: the architectural representation, the source code recognition engine and supporting library of recognition queries, and a bird s eye program overview capability. The bottom up analysis uses the bird s eye view to display the system s file structure ....
Harris, D. R.; Reubenstein, H. B.; &Yeh, A. S. "Reverse Engineering to the Architectural Level." 186-195. Proceedings of the 17 th International Conference on Software Engineering (ICSE). Seattle, Washington, April 23-30, 1995. New York, NY: ACM Press, 1995.
....subsystem hierarchies [3, 15] Ciao [5] and GASE [13] are two environments in which the capability of representing evolving systems, tracing architectural and code evolutions, plays a fundamental role. Recently, some works that address the problem of highlevel design recovery have been presented [4, 8], integrating in a framework architectural styles representations and a library of recognizers to extract architectural information from source code. Other tools, focused on code analysis, allow program decomposition with slicing: the user can extract functionalities and visualize the impact of ....
....recognizers, which can require considerable time in case of large programs. However, if we consider that the code devoted to implementing the architecture of a software system is often a small percentage of the total code (a preliminary study has showed a percentage less than 5 of the total LOC [8]) and usually more stable, the delay of architectural views update at session level seems reasonable. ....
H. B. Reubenstein D. R. Harris and A. S. Yeh. Reverse engineering to the architectural level. In Proceedings of the International Conference on Software Engineering, pages 186-195, Seattle, 1995.
.... re documentation of software systems, by building tools that support methods for identifying, re organizing and documenting layered subsystem hierarchies [3, 4] Recently, some works that address the problem of high level design recovery using reverse engineering technology have been presented [5, 6], integrating in a framework architectural styles representations and a library of recognizers to extract architectural information from source code. In this paper an environment for architectural analysis of software systems is described. The environment supports the discovery of information at ....
....been used within forward engineering approaches, i.e. they are architectural or configuration integration languages producing system descriptions that can be, for some of them, further processed to generate real software systems. These descriptions usually represent what is called the idealized[5] or conceptual [12] software architecture. From a reverse engineering point of view, it is difficult to recover such kind of information because it is often distant from the actual objects that are retrievable from source code. Code represents the as built[5] architecture, that is the actual ....
[Article contains additional citation context not shown here]
D. R. Harris, H. B. Reubenstein and A. S. Yeh, "Reverse Engineering to the Architectural Level", in Proceedings of the 17th International Conference on Software Engineering, pp. 186-195, Seattle, 1995.
....of optimizing compilers and program parallelization and vectorization [9,16,17,19] have recently been investigated in the context of software maintenance and program understanding. Their application ranges from slicing to change impact analysis and many tools that perform architecture recovery [10,11,15] and concept extraction [18] also depend on data dependence computation. The present work is aimed at comparing the reaching de nitions algorithms obtained when ow context sensitivity is successively varied, and evaluating the trade o between eciency and accuracy among the variants. Program ....
D. R. Harris, H. B. Reubenstein and A. S. Yeh, \Reverse Engineering to the Architectural Level", Proc. of the Int. Conf. on Software Engineering, pp. 186195, Seattle, 1995.
.... of software systems, by building tools that support methods for identifying, re organizing, and documenting layered subsystem hierarchies [7,10,23,47] Recently, some works that address the problem of high level design recovery using reverse engineering technology have been presented [20,21,49]. They integrate in a framework architectural style representations and a library of recognizers to extract architectural information from source code. Such a framework, among other things, was used to reverse engineer the flow information between tasks in a legacy application [24] In this paper ....
....have been used within forward engineering approaches. They are architectural or configuration integration languages producing system descriptions that can be, in some cases, further processed to generate real software systems. These descriptions usually represent what is called the idealized [21] or conceptual [43] software architecture. From a reverse engineering point of view, it is difficult to recover such information because it is often distant from the actual objects that are retrievable from source code. Code represents the as built [21] architecture, that is the actual software ....
[Article contains additional citation context not shown here]
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse engineering to the architectural level. In Proceedings of the International Conference on Software Engineering, pages 186--195, Seattle, 1995.
....concepts such as subsystems is, at best, time consuming and error prone. For large systems, manual maintenance of the association may be intractable. Although tools to help developers manipulate static information at a higher level than source have been available for a number of years (e.g. [10, 6]) there has been less work focused on helping developers interpret and manipulate dynamic information from an abstract, typically architectural, view. Those tools that do exist take one of two approaches. The first is to annotate the code to report the dynamic information in terms of the system s ....
David R. Harris, Howard B. Reubenstein, and Alexander S. Yeh. Reverse engineering to the architectural level. In Proceedings of the 17th International Conference on Software Engineering, pages 186--195, New York, NY, April 1995. ACM.
....design decisions can avoid several of the environments limitations. Finally, we conclude the paper in section 5 by summarising our work. 2. Architecture recovery environments In this section we review the architecture recovery environment proposed by Harris, Reubenstein and Yeh (or HRY) [14, 15] and the one proposed by Fiutem, Merlo, Antoniol and Tornella (or FMAT) 7, 8] These environments are fairly similar in the sense that both are developed on top of the same analyser generator, Refine [3] based on the same source code representation, an Abstract Syntax Tree (AST) and use a ....
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse Engineering to the Architectural Level. In Proc. 17th ICSE, pages 186--195. IEEE, Apr. 1995.
.... recovery is a two phase process namely extraction, and analysis [64] The existing approaches focus on recovering restricted information about the system based on: relational queries [66, 87] interactions between files [33] visualization of the system s structure, and architectural styles [48, 34]. Despite several attempts for automating the architectural recovery process (i.e. clustering) still few approaches and tools exist [89] It is rather impossible to define the architecture of a large system at once, hence, the architectural recovery is a gradual process. Software systems usually ....
....in a program representation and the ease of accessing these information, are the important considerations in selecting a program representation. In representing a source model, recent trends are towards using AST for preserving all useful information and annotating other information to its nodes [28, 34, 48, 43]. An approach may provide links among the AST nodes and their corresponding parts of data and or control flow graphs as a convenient and multi purpose search space. In our approach, the target program, i.e. data for the analysis engine, is a large program in one of the Refine supported ....
[Article contains additional citation context not shown here]
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse engineering to the architectural level. In Proceedings of the 17th ICSE, pages 186--195, April 1995.
....architecture and the implemented system is unclear. Techniques and tools to help reason about the architecture of existing systems are the focus of the second front of research. This includes work on architectural conformance checking [MNS95, SSC96b] and, most signi cantly, architecture recovery [HRY95, FMAT96, GJK 96, MK96b, KC99] Conformance checking tools are not speci cally concerned with extraction of architectural information, but rather determining the correspondence between an idealised architectural description and an implementation. Recovery tools, on the other hand, attempt to ....
David R. Harris, Howard B. Reubenstein, and Alexander S. Yeh. Reverse Engineering to the Architectural Level. In Proceedings of the 17th International Conference on Software Engineering (ICSE), pages 186-195. IEEE CS Press, April 1995.
....be useful for checking requirements such as duplicate communication channels. 4.1. 6 Reverse Engineering Reverse engineering of architectures is necessary when the original architecture has been lost (or never existed) Research has focused on extracting component architectures from source code [19]. By extracting architecture events from a running system via instrumentation (such as monitoring middleware) we can extract the execution architecture even when the original source code is unavailable. Perhaps more comparative work is the extraction of call trees by debugging software. These ....
Harris, D. R., et al., Reverse Engineering to the Architectural Level. In Proceedings of 17th International Conference on Software Engineering. 1995: ACM.
.... software clustering researchers and the ones presented by the software architecture community [9, 21] Closing this gap is not easy, as a compromise has to be found between the automatic approaches of the clustering community, and the supervised ones of the software architecture community, as in [10]. ffl Clustering approaches need to be tested on large systems, as success on small systems does not guarantee effective scaling up to large systems. Obtaining access to large systems is not easy, but it can be done, and it is crucial for the validation of candidate approaches. The imminent ....
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse engineering to the architectural level. International Conference on Software Engineering, pages 186--195, Apr. 1995.
....implemented. They are not of great help when an engineer needs to understand a system at the architectural level, where the focus is on components and how they interact with each other. 2. 5 Architecture Recognition Framework The tools of this framework are implemented on top of the Refine system [13, 12] and it represents a recent attempt to extend the ideas of the program understanding framework to the architectural level (see figure 6) The approach consists of populating a library of recognisers specifically created for recognition of architectural elements (components and their interactions) ....
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse Engineering to the Architectural Level. In Proc. 17th ICSE, pages 186--195. IEEE, Apr. 1995.
....languages[SDK 95, LKA 95] to provide expressive notations for design constructs. The languages help record more precisely the design intentions of a system, guiding the construction of corresponding rule bases for monitoring adherence to the intentions. 4. Architecture reverse engineering[HRY95, Bro96] to document existing legacy systems in terms of their conventionalized, high level design models. Because legacy systems typically deviate from their planned architecture, reverse engineering the systems increases our understanding of the likely design turnovers during architectural ....
....job of program concept recognizers is very human dependent, consistent with their goal of discovering unknown functional designs. Harris, Reubenstein, and Alexander have developed a tool that combines both topdown and bottom up derivation to reverse engineer legacy code to the architectural level[HRY95] This is an example of a tool that takes advantage of codified software architecture knowledge in the reverse synthesis of program documentation. Reverse engineering, program concept recognition, and other program understanding tasks have used many different forms of program representation and ....
David. R. Harris, Howard B. Reubenstein, and Alexander S. Yeh. Reverse Engineering to the Architectural Level. In Proceedings of the 17th International Conference on Software Engineering, Seattle, Washington, USA, April 1995.
....the conformance checking for standardized architectural models[26, 7, 8] recurring design abstractions that are increasingly popular in the construction of complex systems. Most of the individual features of Pattern Lint have appeared in isolated reverse engineering tools: architectural styles[10], dynamic analysis[17, 21] program databases[4] and program concept recognition[1, 9] Pattern Lint seems to be the first tool to combine all these abilities in design conformance checking. Pattern Lintalso extends the application of these ideas by incorporating diverse design principles, ....
....and to check for design conformance. 7 Conclusion and Future Work Once a software system deviates from its intended or documented design models, it becomes difficult and costly to understand, modify, and maintain. There have been two standard approaches to address this problem: reverse engineering[10] the implementation to repair it typically after the fact, and structuring the design using standardized design constructs[7, 8] with fairly well understood corresponding implementations. Neither alternative alone seems to be satisfactory: reverse engineering researchers strongly point out the ....
D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse Engineering to the Architectural Level. In Proceedings of the 17th International Conferenceon Software Engineering, Seattle, Washington, USA, April 1995.
....legacy systems, by showing them architectural information. A completely automatic reverse engineering approach is not feasible [1, 2] with the present level of technology, thus the process of program comprehension has to be an iterative process in which the user play an active and fundamental role [3, 4]. This paper presents an approach for architectural analysis of software systems and an environment implementing it. The environment supports the discovery and the inference of information at the architectural level and presents such information to the software engineer, using multiple ....
....connector the relation spans among executables, while in this case the components that are connected, the tasks, are subprograms or pieces of code executed in parallel and optionally starting external executables. The connector among such components is called spawns (this term is borrowed from [4]) Finally, the code view simply illustrates the organization of the application source code in files and directories in the development environment. IRST Technical Report 9510 06, October Each module in the module view can in turn be analyzed and represented as a set of components and ....
[Article contains additional citation context not shown here]
D. R. Harris, H. B. Reubenstein and A. S. Yeh, "Reverse Engineering to the Architectural Level", in Proceedings of the 17th International Conference on Software Engineering, pp. 186-195, Seattle, 1995.
....Workshop (ISAW 2) San Francisco, pp. 111 115, Oct. 1996. A combination of domain knowledge and information derived from source code usually leads to the well known problem of concept assignment [1] Only a few approaches have attacked the architecture recovery problem in this context (e.g. [4, 8]) An additional difficulty in recovering architectural information is the size of the applications studied: staying on toy example level oversimplifies problems and hides the complexity of such a process. The ARES project provides an excellent real world scenario, for example telephone switching ....
D.R. Harris, H.B. Reubenstein, and A.S. Yeh. Reverse engineering to the architectural level. In Proceedings of ICSE-17, pages 186--195. IEEE Computer Society Press, 1995.
....the software engineer with useful structural information requires techniques and tools for producing adaptable views in a timely cost effective way. Adaptable views are necessary because it is difficult to pre configure appropriate views for the wide range of changes that an engineer may perform [Harris et al. 1995]. It is necessary to produce these views in a timely and cost effective way because of pressures to incorporate as many changes as possible before the next release. Typically, the number of desired changes exceeds the ability of the development organization to perform the changes in the time 2 ....
.... by clustering procedures based on the number of data bindings between the procedures [Hutchens and Basili 1985] The technique of Harris, Reubenstein, and Yeh, in which architectural styles expressed as entities and relations are translated into queries over an abstract syntax tree of a program [Harris et al. 1995], is characteristic of the latter category. One benefit of these automated techniques is that a high level structural model may be produced without requiring a significant amount of the engineer s time. However, these techniques are limited to considering precoded kinds of structural information ....
Harris, D., Reubenstein, H., and Yeh, A. 1995. Reverse engineering to the architectural level. In Proceedings of the 17th International Conference on Software Engineering. ACM, New York, NY, 186--195.
No context found.
D.R. Harris, H.B. Reubenstein, and A.S. Yeh. Reverse engineering to the architectural level. In D. Perry, editor, Proceedings of the 17th proc International Conference on Software Engineering. IEEE Computer Society Press, April 1995.
No context found.
D. R. Harris, H. B. Reubenstein and A. S. Yeh, "Reverse Engineering to the Architectural Level", in Proceedings of the 17th International Conference on Software Engineering, pp. 186-195, Seattle, 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC