By Topic

Reverse Engineering, 1996., Proceedings of the Third Working Conference on

11-10 Nov. 1996

Filter Results

Displaying Results 1 - 25 of 32
  • Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering

    Publication Year: 1996
    Request permission for commercial reuse | PDF file iconPDF (171 KB)
    Freely Available from IEEE
  • Design recovery by automated search for structural design patterns in object-oriented software

    Publication Year: 1996, Page(s):208 - 215
    Cited by:  Papers (70)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (740 KB)

    The object-oriented design community has recently begun to collect so-called design patterns: cliches plus hints to their recommended use in software construction. The structural design patterns Adapter, Bridge, Composite, Decorator, and Proxy represent packaged problem/context/solution/properties descriptions to common problems in object-oriented design. Localizing instances of these patterns in ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Author index

    Publication Year: 1996, Page(s): 297
    Request permission for commercial reuse | PDF file iconPDF (49 KB)
    Freely Available from IEEE
  • Reengineering real-time embedded software onto a parallel processing platform

    Publication Year: 1996, Page(s):11 - 19
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1036 KB)

    The paper describes a general reengineering process that SED uses as a guideline and the specific reengineering process used in the context of a missile onboard software reengineering experiment. The experiment involves retargeting from a single processor to a scaleable, distributed, multiprocessor implementation. It also discusses the role of a domain specific software architecture, and describes... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On designing an experiment to evaluate a reverse engineering tool

    Publication Year: 1996, Page(s):31 - 40
    Cited by:  Papers (27)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1288 KB)

    The Rigi reverse engineering system is designed to analyze and summarize the structure of large software systems. Two contrasting approaches are available for visualizing software structures in the Rigi graph editor. The first approach displays the structures through multiple, individual windows. The second approach, simple hierarchical multi-perspective (SHriMP) views, employs fisheye views of ne... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse engineering a medical database

    Publication Year: 1996, Page(s):121 - 130
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (984 KB)

    An effort to recover an entity-relationship model from an existing medical database is described. This effort examines the applicability of a variety of existing reverse engineering techniques. Problems and limitations encountered with these techniques are discussed. An alternative approach that avoids these limitations is presented, together with examples from the medical database that illustrate... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evaluation of a knowledge-based approach to program understanding

    Publication Year: 1996, Page(s):259 - 268
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (892 KB)

    Paper reprinted from ICSM '96. This paper evaluates a knowledge-based program understanding approach that generates first order predicate logic annotations of loops. An initial and partial evaluation of this approach was performed on an existing program of reasonable size. Plans in the knowledge base were designed by performing an analysis of the existing program. As a result the previous study di... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Finding reusable software components in large systems

    Publication Year: 1996, Page(s):2 - 10
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (864 KB)

    The extraction of reusable software components from existing systems is an attractive idea. The goal of the paper is not to extract a component automatically, but to identify its tightly coupled region (subsystem) for extraction by hand or knowledge-based system. Much of the author's experience is anecdotal. His experience with scientific systems differs from much of the work in reverse engineerin... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GASE: visualizing software evolution-in-the-large

    Publication Year: 1996, Page(s):163 - 167
    Cited by:  Papers (30)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (348 KB)

    Large and long lived software systems, sometimes called legacy systems, must evolve if they are to remain useful. Too often, it is difficult to control or to understand this evolution. The paper presents an approach to visualizing software structural change. A visualization tool, called GASE (Graphical Analyzer for Software Evolution), has been used to elucidate the architectural changes in a sequ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A portable assembler reverse engineering environment (PARE)

    Publication Year: 1996, Page(s):76 - 85
    Cited by:  Papers (2)  |  Patents (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (956 KB)

    After developing several workbenches for reverse engineering various assembly languages, we developed a portable assembly language reverse engineering environment (PARE). The individual workbenches and the portable version are described. The Language Independent Method (LIM) of programming used to develop the portable workbench is discussed, and issues specific to processing assembly languages as ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Identifying enumeration types modeled with symbolic constants

    Publication Year: 1996, Page(s):227 - 236
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (948 KB)

    An important challenge in software reengineering is to encapsulate collections of related data that, due to the absence of appropriate constructs for encapsulation in legacy programming languages, may be distributed throughout the code. The encapsulation of such collections is a necessary step for reengineering a legacy system into an object-oriented design or implementation. Encapsulating a set o... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using informal and formal techniques for the reverse engineering of C programs

    Publication Year: 1996, Page(s):249 - 258
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (984 KB)

    Paper reprinted from ICSM '96. Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be in a “legacy” or “geriatric” state. Changing architectures and improvements in programming methods, including formal methods in software development and object-orien... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Some experiments toward understanding how program plan recognition algorithms scale

    Publication Year: 1996, Page(s):21 - 30
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (800 KB)

    Over the past decade, researchers in program understanding have formulated many program understanding algorithms but have published few studies of their relative scalability. Consequently, it is difficult to understand the relative limitations of these algorithms and to determine whether the field of program understanding is making progress. The paper attempts to address this deficiency by formali... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Analysis and presentation of recovered software architectures

    Publication Year: 1996, Page(s):153 - 162
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (928 KB)

    Since architecture descriptions support multiple software engineering tasks, software architecture recovery tools must attend to accompanying secondary analysis and presentation issues. The authors describe the secondary analysis and presentation capabilities of ManSART, a software architecture recovery tool. As a central part of its design, ManSART contains operators and presentation generators. ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A cliche-based environment to support architectural reverse engineering

    Publication Year: 1996, Page(s):277 - 286
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1040 KB)

    Paper reprinted from ICSM '96. When programmers perform maintenance tasks, program understanding is required. One of the first activities in understanding a software system is identifying its subsystems and their relations, i.e. its software architecture. Since a large part of the effort is spent in creating a mental model of the system under study, tools can help maintainers in managing the evolu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Augmenting pattern-based architectural recovery with flow analysis: Mosaic-a case study

    Publication Year: 1996, Page(s):198 - 207
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (920 KB)

    Understanding the overall organization of a software system, i.e. its software architecture, is often required during software maintenance: tools can help maintainers in managing the evolution of legacy systems, by showing them architectural information. The analysis of a medium-sized application using a pattern based architectural recovery environment is presented. The results obtained give usefu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse engineering of assembler programs: a model-based approach and its logical basis

    Publication Year: 1996, Page(s):67 - 75
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (788 KB)

    The REAP project at InterGlossa is developing tools to support maintenance and reverse engineering of assembly language programs, concentrating on well-engineered hand-coded programs. Abstraction of assembly programs takes place in the context of a selected `engineering model' which includes the definition of the instruction set semantics but also constraints on the programs similar to those found... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Encapsulating legacy software for use in client/server systems

    Publication Year: 1996, Page(s):104 - 119
    Cited by:  Papers (34)  |  Patents (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (788 KB)

    An alternative to migrating legacy software from the mainframe to a client/server platform is to encapsulate it by wrapping it on the host and accessing it from the new client programs. Recent technological achievements such as the OMG's Common Object Request Broker Architecture (CORBA) and IBM's System Object Model (SOM) have made it possible for distributed objects to communicate with existing a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Object-oriented COBOL recycling

    Publication Year: 1996, Page(s):169 - 178
    Cited by:  Papers (28)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (772 KB)

    A tool supported process for extracting objects from existing COBOL programs is described. The process is based on human interaction to select objects coupled with automated slicing techniques to identify all of the elementary operations which change the state of the object selected. The object is redefined within the framework of an object-COBOL class and the elementary operations are attached to... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Early field experience with the Software Reconnaissance technique for program comprehension

    Publication Year: 1996, Page(s):270 - 276
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (684 KB)

    Paper reprinted from ICSM '96. Software Reconnaissance is a dynamic analysis technique to help programmers locate code that they need to understand, fix, or enhance in an unfamiliar system. The technique was originally motivated by comments by industrial maintainers about the need for better ways of locating software features in large systems. It was then prototyped in a university setting and an ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A catalog of object model transformations

    Publication Year: 1996, Page(s):87 - 96
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (748 KB)

    The process of software development is gradually achieving more rigor. Proficient developers now construct software indirectly through the abstraction of models. Models allow a developer to focus on the essential aspects of an application and defer details. Transformations extend the power of models, as the developer can substitute refinement and optimization of models for tedious manipulation of ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Combining a flexible data model and phase schema translation in data model reverse engineering

    Publication Year: 1996, Page(s):141 - 151
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1128 KB)

    A data reverse engineering tool whose input can be from heterogeneous legacy systems which can range from COBOL record layouts to DB/2 data definitions needs to be able to utilize a flexible data model as well as phase schema translations. The flexible data model allows a designer to fully understand the legacy system as well as know what corrections could be made during conversion to a new implem... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Mandrake: a tool for reverse-engineering IBM assembly code

    Publication Year: 1996, Page(s):57 - 66
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (912 KB)

    Assembly language code provides both a daunting challenge and a sterling opportunity for software reengineering. Ideally, one would like a system which, when fed assembly code, would automatically produce quality, maintainable high-level programs. That ideal, if not impossible, is certainly far beyond current technology. However, automation can profitably be applied to part of the task of reverse ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Structure elicitation in database reverse engineering

    Publication Year: 1996, Page(s):131 - 140
    Cited by:  Papers (7)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1148 KB)

    Recovering the semantic description of file and database structures is an important aspect of business application reverse engineering. It includes a particularly delicate activity, namely data structure extraction, i.e. finding the exact data structures and integrity constraints of the database. This process is made more complex than generally expected due to the fact that these structures and co... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Preprocessors from an abstract point of view

    Publication Year: 1996, Page(s):287 - 296
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1852 KB)

    Paper reprinted from ICSM '96. It is well known that the extensive use of preprocessors can lead to serious maintenance problems. However these tools are still heavily used by developers and maintainers to implement software variants. Without adequate tools, understanding complex preprocessor files is a really tedious task. Problems are difficult to formulate and seem very specific. This paper sho... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.