By Topic

Reverse Engineering, 1999. Proceedings. Sixth Working Conference on

Date 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
  • Author index

    Publication Year: 1999, Page(s): 337
    Request permission for commercial reuse | PDF file iconPDF (5 KB)
    Freely Available from IEEE
  • 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.
  • On the relationships between static and dynamic models in reverse engineering Java software

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

    An experimental environment for reverse engineering Java software is discussed. Static information is extracted from class files and viewed using Rigi reverse engineering environment. The dynamic information is generated by running the target software under a debugger. The debugged event trace information is viewed as scenario diagrams using a prototype tool called SCED. In SCED, state diagrams ca... 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 (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.
  • GraX-an interchange format for reengineering tools

    Publication Year: 1999, Page(s):89 - 98
    Cited by:  Papers (18)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (240 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.
  • 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.
  • Reverse engineering legacy interfaces: an interaction-driven approach

    Publication Year: 1999, Page(s):292 - 302
    Cited by:  Papers (15)  |  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.
  • QBO: a query tool specially developed to explore programs

    Publication Year: 1999, Page(s):270 - 279
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (124 KB)

    We introduce QBO, or Query by Outlines, a tool specially developed to help explore programs. It relies on a previously implemented system able to automatically construct outlines (F. Balmas, 1997; 1998): every linear loop identified in a program is conceptualized according to the kind of computations it performs. QBO proposes an outline storage mechanism together with a query algorithm that enable... 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 (11)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (92 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.
  • Experiments with clustering as a software remodularization method

    Publication Year: 1999, Page(s):235 - 255
    Cited by:  Papers (98)
    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.
  • 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.
  • 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.
  • Nomen est omen: analyzing the language of function identifiers

    Publication Year: 1999, Page(s):112 - 122
    Cited by:  Papers (35)
    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.
  • 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 hybrid reverse engineering approach combining metrics and program visualisation

    Publication Year: 1999, Page(s):175 - 186
    Cited by:  Papers (16)
    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.
  • The design of a resourceable and retargetable binary translator

    Publication Year: 1999, Page(s):280 - 291
    Cited by:  Papers (8)  |  Patents (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (268 KB)

    Binary translation, the automatic translation of executable programs from one machine to another, requires analyses and transformations that could be used in a wide variety of tools intended to reverse engineer binary codes. Our approach to binary translation, which is designed to allow both source and target machines to be changed at low cost, is based on a combination of machine descriptions, bi... 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.
  • An incremental semi-automatic method for component recovery

    Publication Year: 1999, Page(s):256 - 267
    Cited by:  Papers (13)
    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.
  • 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.
  • 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.
  • 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.
  • MoJo: a distance metric for software clusterings

    Publication Year: 1999, Page(s):187 - 193
    Cited by:  Papers (56)
    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.
  • 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.