• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Reverse Engineering - Algorithms for Program Graph Production." Software-Practice & Experience 21(5 (1991)

by A Cimitile, U Decarlini
Add To MetaCart

Tools

Sorted by:
Results 1 - 9 of 9

A logic-based approach to reverse engineering tools production

by Gerard Canfora, Aniello Cimitile, Ugo De Carlini - IEEE Transactions on Software Engineering , 1992
"... Abstiact-This paper analyzes difficulties arising in the use ..."
Abstract - Cited by 24 (3 self) - Add to MetaCart
Abstiact-This paper analyzes difficulties arising in the use

An Intermediate Representation for Integrating Reverse Engineering Analyses

by Rainer Koschke, et al. , 1998
"... Intermediate representations (IR) are a key issue both for compilers as well as for reverse engineering tools to enable efficient analyses. Research in the field of compilers has proposed many sophisticated IRs that can be used in the domain of reverse engineering, especially in the case of deep ana ..."
Abstract - Cited by 17 (3 self) - Add to MetaCart
Intermediate representations (IR) are a key issue both for compilers as well as for reverse engineering tools to enable efficient analyses. Research in the field of compilers has proposed many sophisticated IRs that can be used in the domain of reverse engineering, especially in the case of deep analyses, but reverse engineering has also its own requirements for intermediate representations not covered by traditional compiler technology. This paper discusses requirements of IRs for reverse engineering. It shows then how most of these requirements can be met by extending and integrating existing IRs. These extensions include a generalized AST and a mechanism supporting multiple views on programs. Moreover, the paper shows how these views can efficiently be implemented.
(Show Context)

Citation Context

...e code-structure level up to the architectural level - to be suitable for all phases of reverse engineering. Related Research Many IRS have been proposed (DIANA [Goos81], CCG[Kinl94],sIRIS [hi],sF(p) =-=[Cimi91]-=-)sbut most of them are language-specific or do not take advantage of more recent advances in optimizing compiler technology which could provide the performance needed to analyze large industrial syste...

Re-engineering Legacy Software through Language Conversion

by Maarit Harsu , 2000
"... Software industry has a huge amount of legacy programs needing modernization and re-engineering. We are especially interested in re-engineering legacy programs via language conversion. In language conversion, the source and target languages can be either from the same programming paradigm or from di ..."
Abstract - Cited by 3 (0 self) - Add to MetaCart
Software industry has a huge amount of legacy programs needing modernization and re-engineering. We are especially interested in re-engineering legacy programs via language conversion. In language conversion, the source and target languages can be either from the same programming paradigm or from di#erent ones. Thus, we consider program modernization from two aspects. If the source and target languages share the same programming paradigm, we can modernize programs via source-to-source translation. If the languages are from di#erent paradigms, for example procedural and object-oriented, we need re-engineering means in modernization, particularly in identifying objects from procedural code. After finding objects and their operations, we need again source-to-source translation methods in the actual conversion. As a constructive part of this thesis, we have implemented a converter translating PL/M programs into C. As an implementation tool of that converter, we have used TaLE (Tampere Language Editor). Because of the nature of the legacy software and PL/M language, we have been forced to extend TaLE. Since legacy systems are typically large, we have developed a technique to reduce the space requirements of the converter. In addition, conditional compilation of the source language may cause parsing problems in source-to-source translation. As a solution for this problem, we introduce multi-branch parsing. Both of these techniques are implemented in TaLE. We also show how to exploit the existing features of TaLE in information passing. We have extended the PL/M-to-C converter with object identification methods as a first step to enable translation from a procedural language into an objectoriented one (for example, C++). We introduce new methods to identify objectoriented f...

An Overview of Structural and Specification Driven Candidature Criteria for Reuse Reengineering Processes

by Aniello Cimitile, Andrea De Lucia, Malcolm Munro , 1995
"... One of the most promising ways to make the population of a repository of reusable assets cost effective and to obtain useful results in the short time is by extracting and reengineering them from existing software. A reuse reengineering process consists of the set of activities for identifying softw ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
One of the most promising ways to make the population of a repository of reusable assets cost effective and to obtain useful results in the short time is by extracting and reengineering them from existing software. A reuse reengineering process consists of the set of activities for identifying software components implementing abstractions, reengineering them according to a predefined template, associating them with their interface and functional specification and populating a repository with the reusable assets so obtained. Code scavenging consists in searching existing software systems for source code components that implement software abstractions. We present an overview of code scavenging techniques with reference to the first phase of the RE 2 project reference paradigm for setting up reuse reengineering processes. Several program representations proposed in the literature for software maintenance and in particular useful for reverse engineering and reengineering are also describ...
(Show Context)

Citation Context

...s control dependent on a node n if and only if n has two outgoing edges, where one of them always results in m being reached, while the other edge may result in m not being reached [62]. nesting tree =-=[38]-=-, a program representation where internal nodes represent control structures and leaves represent elementary statements. The data dependence subgraph contains several types of edges representing diffe...

Verification, and Validation of Self-checking Software Components

by S J Geoghegan, D Design Avresky - Proc. International Phoenix Conference on Computers and Communications 96. IEEE, Piscataway, NJ USA
"... ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
Abstract not found

Reverse Engineering: Why and How to Reverse Engineer Software

by René R. Klösch - in Proceedings of the California Software Symposium (CSS , 1996
"... Today especially large organizations are not only faced with the problem of replacing their information systems with completely new ones, but they have to maintain and gain control over their legacy applications. Reverse engineering provides the means for this purpose supporting in recapturing lost ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
Today especially large organizations are not only faced with the problem of replacing their information systems with completely new ones, but they have to maintain and gain control over their legacy applications. Reverse engineering provides the means for this purpose supporting in recapturing lost information, restructuring complex systems or transforming old systems to a new and more maintainable architecture. This paper introduces the basic concepts of reverse engineering, clarifies related terms and indicates important reverse engineering approaches. Furthermore, a particular reverse engineering methodology for re-architecturing legacy applications is introduced and its impact on software engineering is discussed. Keywords: reverse engineering, re-engineering, software engineering, redocumentation, restructuring, design recovery, re-architecturing. INTRODUCTION For many years software engineering primarily concentrated on the development of new applications. Much research as wel...
(Show Context)

Citation Context

..., Cimitile and DeCarlini [2, 3] describing the development of structure charts and hierarchical dataflow diagrams, or work of Cimitile and DeCarlini on algebraic representation of procedural programs =-=[8, 13]-=- or the work of Wilde et al. on dependency analysis tools [47]. Re-engineering Re-engineering covers the examination and alteration of a legacy system in order to rebuild it according to modern softwa...

PEOPLE, PROCESSES, AND PRODUCTS: CASE STUDIES IN OPEN-SOURCE SOFTWARE USING COMPLEX NETWORKS

by Jian James Ma , 2011
"... ..."
Abstract - Add to MetaCart
Abstract not found

Reverse Engineering: Why and How to Reverse Engineer Software

by unknown authors
"... Today especially large organizations are not only faced with the problem of replacing their information systems with completely new ones, but they have to maintain and to gain control over their legacy applications. Reverse engineering provides the means for this purpose supporting in recapturing lo ..."
Abstract - Add to MetaCart
Today especially large organizations are not only faced with the problem of replacing their information systems with completely new ones, but they have to maintain and to gain control over their legacy applications. Reverse engineering provides the means for this purpose supporting in recapturing lost information, restructuring complex systems or transforming old systems to a new and more maintainable architecture. This paper introduces the basic concepts of reverse engineering, clarifies related terms and indicates important reverse engineering approaches. Furthermore, a particular reverse engineering methodology for re-architecturing legacy applications is introduced and its impact on software engineering is discussed.
(Show Context)

Citation Context

..., Cimitile and DeCarlini [2, 3] describing the development of structure charts and hierarchical dataflow diagrams, or work of Cimitile and DeCarlini on algebraic representation of procedural programs =-=[8, 13]-=- or the work of Wilde et al. on dependency analysis tools [47]. Re-engineering Re-engineering covers the examination and alteration of a legacy system in order to rebuild it according to modern softwa...

A Survey Of Object Identification In Software Re-Engineering

by Maarit Harsu , 1998
"... In order to translate a non-object-oriented (procedural) program into an object-oriented one, objects must be identified from the procedural program. Object-oriented programs (compared with procedural ones) are considered to be easier to reuse and maintain. Thus, object identification followed by tr ..."
Abstract - Add to MetaCart
In order to translate a non-object-oriented (procedural) program into an object-oriented one, objects must be identified from the procedural program. Object-oriented programs (compared with procedural ones) are considered to be easier to reuse and maintain. Thus, object identification followed by translation from a non-object-oriented language into an object-oriented language is one way to re-engineer legacy programs. This paper gives an overview of re-engineering in general and of object identification especially. Associated with objectorientation, identification of (design) patterns is discussed, too.
Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University