Sixth Working Conference on Reverse Engineering (Cat. No.PR00303)

8-8 Oct. 1999

Filter Results

Displaying Results 1 - 25 of 32
  • Sixth Working Conference on Reverse Engineering (Cat. No.PR00303)

    Publication Year: 1999
    Request permission for commercial reuse | PDF file iconPDF (180 KB)
    Freely Available from IEEE
  • Architectural synthesis: integrating multiple architectural perspectives

    Publication Year: 1999, Page(s):2 - 12
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (122 KB)

    Many tools and techniques are available to help understand and analyze a system at the architectural level. Each of these provides its own perspective of the key architectural elements of the system. We introduce the process of architectural synthesis to deal with the problem of integrating these different architectural perspectives. The four steps of the synthesis process form an iterative cycle ... View full abstract»

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

    Publication Year: 1999, Page(s):13 - 23
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (85 KB)

    Software architecture, as a vehicle for communication and reasoning about software systems and their quality, is becoming an area of focus in both the forward- and reverse-engineering communities. In the past, we have attempted to unify these areas via a semantic model of reengineering called CORUM II. In this paper we present a concrete example of an architecturally-motivated reengineering task. ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reusing domains for the construction of reverse engineering tools

    Publication Year: 1999, Page(s):24 - 34
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (94 KB)

    One of the challenges of reverse engineering is the extraction of a specification from source code. Our work proposes a singular approach to the construction of reverse engineering tools. Using a transformation based software machine we have built two languages designed to help the construction of reverse engineering tools. Each one of these languages embodies an important domain in reverse engine... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Restructuring functions with low cohesion

    Publication Year: 1999, Page(s):36 - 46
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (84 KB)

    We present a technique for restructuring functions with low cohesion into functions with high cohesion. Such restructuring is desirable when re-architecting a legacy system into an object-oriented architecture. The restructured system has functions with higher cohesion and hence lower coupling. This enables finer-grained grouping of functions into objects. Automatically decomposing a function is d... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A tool for securely integrating legacy systems into a distributed environment

    Publication Year: 1999, Page(s):47 - 55
    Cited by:  Papers (9)  |  Patents (20)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (94 KB)

    Legacy systems provide services that remain useful beyond the means of the technology in which they were originally implemented. Our Legacy Wrapper tool packages the services of a legacy application in order to redistribute as a distributed object. In this new environment, the wrapper provides its own layer of security between the security domain of the host and the distributed object system. This... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Model based user-interface reengineering

    Publication Year: 1999, Page(s):56 - 63
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (81 KB)

    Reengineering the user interface of a legacy system may involve redesigning the underlying computation. To increase interaction, data that is internal to a computation must be exposed so that it can be presented in a graphical interface, and the computation must be restructured to compute this data on demand. We investigate the use of demand-driven models of computation to support user-interface r... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The impact of copyright on the development of cutting edge binary reverse engineering technology

    Publication Year: 1999, Page(s):66 - 76
    Cited by:  Papers (1)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (176 KB)

    Reverse engineering of executable code is a growing area of software engineering research and technology development due to a variety of reasons, including the porting of programs to newer and faster machines. In this paper we discuss three core object code reverse engineering technologies: emulation, decompilation, and binary translation, and present their uses in the last decades. These uses poi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A framework for classifying and comparing software reverse engineering and design recovery techniques

    Publication Year: 1999, Page(s):77 - 88
    Cited by:  Papers (17)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (115 KB)

    Several techniques have been suggested for supporting reverse engineering and design recovery activities. While many of these techniques have been cataloged in various collections and surveys, the evaluation of the corresponding support tools has focused primarily on their usability and supported source languages, mostly ignoring evaluation of the appropriateness of the by-products of a tool for f... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GraX-an interchange format for reengineering tools

    Publication Year: 1999, Page(s):89 - 98
    Cited by:  Papers (23)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (232 KB)

    Current research in software reengineering offers a great amount of tools specialized on certain reengineering tasks. The definition of a powerful common interchange format is a key issue to provide interoperability between these tools. This paper discusses aspects of data interchange formats for exchanging reengineering related data. It proposes a graph-based format to exchange both application s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A formal approach for reverse engineering: a case study

    Publication Year: 1999, Page(s):100 - 111
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (204 KB)

    As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and design recovery techniques must be used in order to understand the current behavior of a system. In this context, the effective use of complementary approaches can facilitate program and system understanding by taking adv... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Nomen est omen: analyzing the language of function identifiers

    Publication Year: 1999, Page(s):112 - 122
    Cited by:  Papers (42)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    The identifiers chosen by programmers as function names contain valuable information. They are often the starting point for program understanding activities, especially when high-level views, like the call graph, are available. In this paper, the lexical, syntactic and semantic structure of function identifiers is analyzed by means of a segmentation technique, a regular language and a conceptual c... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Educating JACKAL: cliche library development and use

    Publication Year: 1999, Page(s):123 - 133
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (285 KB)

    JACKAL is a cliche-based program understanding tool that relies on the combination of a stylized abstract language (AL) representation, derived solely from simple syntactic analysis, along with a pair of matching algorithms (one linear and one tree), and a library of cliches to perform its analysis. Developing a cliche library involves constructing the library infrastructure, general-purpose tools... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Recovering code to documentation links in OO systems

    Publication Year: 1999, Page(s):136 - 144
    Cited by:  Papers (25)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (134 KB)

    Software system documentation is almost always expressed informally, in natural language and free text. Examples include requirement specifications, design documents, user manual pages, system development journals, error logs and related maintenance reports. We propose an approach to establish and maintain traceability links between the source code and free-text documents. A premise of our work is... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Task orientation and tailoring of interactive software explanations

    Publication Year: 1999, Page(s):145 - 156
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (327 KB)

    Describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. This solution is implemented in a software explanation system as follows. First, user questions about software artifacts are studied and the most commonly asked questions are identified. These questions are organized into a question model, and procedures for answering them ar... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Type-check elimination: two object-oriented reengineering patterns

    Publication Year: 1999, Page(s):157 - 166
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (90 KB)

    In reengineering an object-oriented system, we want to benefit from the expertise developed in earlier efforts. It is therefore essential to have a way to communicate expertise at different levels: from knowledge about how to approach a system to be reengineered, to knowledge about improving code by eliminating 'bad' style. In this paper, we propose to use a pattern form to communicate knowledge a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An initial approach towards measuring and characterising software evolution

    Publication Year: 1999, Page(s):168 - 174
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (202 KB)

    Proposes a number of metrics to assess the maintainability of code. Dominance relations are used to express the complexity of call relations and an assumption is made that, when more complex relations are present within a source code module, it is harder for an application to be maintained. The paper describes a case study whereby the changes in dominance relations are investigated over versions o... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A hybrid reverse engineering approach combining metrics and program visualisation

    Publication Year: 1999, Page(s):175 - 186
    Cited by:  Papers (18)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (210 KB)

    Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. Consequently, reverse engineering techniques are relevant in an object-oriented context as well. This paper investigates a hybrid approach, combining the immediate appeal of visualisations with the scalability of metrics. We va... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • MoJo: a distance metric for software clusterings

    Publication Year: 1999, Page(s):187 - 193
    Cited by:  Papers (63)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (103 KB)

    The software clustering problem has attracted much attention recently, since it is an integral part of the process of reverse engineering large software systems. A key problem in this research is the difficulty in comparing different approaches in an objective fashion. In this paper, we present a metric, called MoJo (Move-Join), that can be used in evaluating the similarity of two different decomp... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An industrial example of database reverse engineering

    Publication Year: 1999, Page(s):196 - 203
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (41 KB)

    This paper presents an industrial example of database reverse engineering. The example has been abridged so that it fits within a paper. Also some of the field names have been disguised as a courtesy to the source company. Nevertheless, the example is real and illustrates the kinds of mistakes and poor design that are often found in practice. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Risks involved in reengineering projects

    Publication Year: 1999, Page(s):204 - 211
    Cited by:  Papers (29)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (91 KB)

    Risk analysis has become a standard requirement for projects in many organizations. To meet this requirement the risks must be known. This paper addresses the pitfalls of software reengineering projects. To this end it summarizes the results of 13 such projects conducted by the author in the past 10 years. The purpose of the study is to identify the major risks involved in reengineering projects a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A software model for impact analysis: a validation experiment

    Publication Year: 1999, Page(s):212 - 222
    Cited by:  Papers (7)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (215 KB)

    Impact analysis is the process of identifying software work products that may be affected by proposed changes. This requires a software representation model that can formalize the knowledge about the various dependencies between work products. This study was carried out with the aim of objectively assessing whether the effectiveness of an impact analysis approach depends on the software dependency... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Computing program modularizations using the k-cut method

    Publication Year: 1999, Page(s):224 - 234
    Cited by:  Papers (3)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (96 KB)

    The problem of producing modularizations of huge legacy software systems which lack an obvious modular structure is an important one. Such modularizations allow maintenance and reuse of smaller, more manageable pieces of program source code, and also may provide insights into the overall structure of the software system. We consider the application of an algorithm from graph theory known as the k-... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Experiments with clustering as a software remodularization method

    Publication Year: 1999, Page(s):235 - 255
    Cited by:  Papers (111)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (698 KB)

    As valuable software systems get old, reverse engineering becomes more and more important to the companies that have to maintain the code. Clustering is a key activity in reverse engineering to discover a better design of the systems or to extract significant concepts from the code. Clustering is an old activity, highly sophisticated, offering many methods to answer different needs. Although these... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An incremental semi-automatic method for component recovery

    Publication Year: 1999, Page(s):256 - 267
    Cited by:  Papers (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (142 KB)

    Atomic components are sets of related variables, types, and subprograms, e.g., abstract data types and objects. Many techniques exist to detect them automatically. However, as an evaluation has shown, none of them has the precision needed (J.F. Girand and R. Koshke, 1999). One approach to achieve a higher precision is to integrate the user into the detection cycle. The paper describes a method in ... View full abstract»

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