Scheduled System Maintenance
On Friday, October 20, IEEE Xplore will be unavailable from 9:00 PM-midnight ET. We apologize for the inconvenience.
Notice: There is currently an issue with the citation download feature. Learn more.

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
  • 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)
    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.
  • Author index

    Publication Year: 1999, Page(s): 337
    Request permission for commercial reuse | PDF file iconPDF (5 KB)
    Freely Available from IEEE
  • 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 (208 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.
  • Experiments with clustering as a software remodularization method

    Publication Year: 1999, Page(s):235 - 255
    Cited by:  Papers (101)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (704 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.
  • Type-check elimination: two object-oriented reengineering patterns

    Publication Year: 1999, Page(s):157 - 166
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (96 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.
  • Computing program modularizations using the k-cut method

    Publication Year: 1999, Page(s):224 - 234
    Cited by:  Papers (2)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (104 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.
  • 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 (332 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.
  • A software model for impact analysis: a validation experiment

    Publication Year: 1999, Page(s):212 - 222
    Cited by:  Papers (6)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (220 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.
  • Partial redesign of Java software systems based on clone analysis

    Publication Year: 1999, Page(s):326 - 336
    Cited by:  Papers (21)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection and documentation have been investigated by several researchers in past years. Recently, research focus has shifted towards the investigation of software and process restructuring actions based on clone detection. The paper presents a new redesign approach develo... 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 (37)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 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.
  • MoJo: a distance metric for software clusterings

    Publication Year: 1999, Page(s):187 - 193
    Cited by:  Papers (58)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (108 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.
  • Recovering code to documentation links in OO systems

    Publication Year: 1999, Page(s):136 - 144
    Cited by:  Papers (23)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (140 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.
  • 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 (96 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.
  • 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 (100 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.
  • Chava: reverse engineering and tracking of Java applets

    Publication Year: 1999, Page(s):314 - 325
    Cited by:  Papers (21)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (144 KB)

    Java applets have been used increasingly on Web sites to perform client-side processing and provide dynamic content. While many Web site analysis tools are available, their focus has been on static HTML content and most ignore applet code completely. The paper presents Chava, a system that analyzes and tracks changes in Java applets. The tool extracts information from applet code about classes, me... 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 (212 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.
  • 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 (128 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.
  • Reverse engineering legacy interfaces: an interaction-driven approach

    Publication Year: 1999, Page(s):292 - 302
    Cited by:  Papers (16)  |  Patents (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (152 KB)

    Legacy systems constitute valuable assets to the organizations that own them. However, due to the development of newer and faster hardware platforms and the invention of novel interface styles, there is a great demand for their migration to new platforms. We present a method for reverse engineering the system interface that consists of two tasks. Based on traces of the users interaction with the s... 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 (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 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.
  • 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 (216 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.
  • 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 (148 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.
  • 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 (292 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.
  • 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 (44 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.
  • Restructuring functions with low cohesion

    Publication Year: 1999, Page(s):36 - 46
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (92 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.