Proceedings Eighth Working Conference on Reverse Engineering

2-5 Oct. 2001

Filter Results

Displaying Results 1 - 25 of 40
  • Proceedings Eighth Working Conference on Reverse Engineering

    Publication Year: 2001
    Request permission for commercial reuse | PDF file iconPDF (203 KB)
    Freely Available from IEEE
  • Author index

    Publication Year: 2001, Page(s): 381
    Request permission for commercial reuse | PDF file iconPDF (59 KB)
    Freely Available from IEEE
  • Lessons learned in data reverse engineering

    Publication Year: 2001, Page(s):323 - 327
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (408 KB) | HTML iconHTML

    Reverse engineering of data has been performed in one form or another for over twenty-five years (1976-2001 approx.). The author describe the lessons learned in data reverse engineering (DRE) as contributed in a survey of data reverse engineers. Interesting is the fact that some of the lessons learned tell us how we are doing in the process of initial database design as well as how difficult the D... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The octagon abstract domain

    Publication Year: 2001, Page(s):310 - 319
    Cited by:  Papers (24)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (816 KB) | HTML iconHTML

    The article presents a novel numerical abstract domain for static analysis by abstract interpretation. It extends a former numerical abstract domain based on Difference-Bound Matrices and allows us to represent invariants of the form (±x±y⩽c), where x and y are program variables and c is a real constant. We focus on giving an efficient representation based on Difference-Bound Mat... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GUSTT: an amorphous slicing system which combines slicing and transformation

    Publication Year: 2001, Page(s):271 - 280
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (688 KB) | HTML iconHTML

    The paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntax-preserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, thereby guaranteeing the correctness of the amorphous slices produced. The combined application of sli... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An approach for reverse engineering of web-based applications

    Publication Year: 2001, Page(s):231 - 240
    Cited by:  Papers (24)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (752 KB) | HTML iconHTML

    The new possibilities offered by WEB applications are pervasively and radically changing several areas. WEB applications, compared to WEB sites, offer substantially greater opportunities: a WEB application provides the WEB user with a means to modify the site status. WEB applications must cope with an extremely short development/evolution life cycle. Usually, they are implemented without producing... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Folding: an approach to enable program understanding of preprocessed languages

    Publication Year: 2001, Page(s):3 - 12
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (808 KB) | HTML iconHTML

    Since the early days of programming, preprocessors have been used to increase the expressiveness of programming languages. As a prominent example, the C Preprocessor cpp even allows low level configuration management through conditional compilation. But preprocessors significantly complicate the task of program understanding because "what the user sees is not what the compiler gets". There is a ne... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Identifying similar code with program dependence graphs

    Publication Year: 2001, Page(s):301 - 309
    Cited by:  Papers (173)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (632 KB) | HTML iconHTML

    We present an approach to identifying similar code in programs based on finding similar subgraphs in attributed directed graphs. This approach is used on program dependence graphs and therefore considers not only the syntactic structure of programs but also the data flow within (as an abstraction of the semantics). As a result, there is no tradeoff between precision and recall; our approach is ver... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Displaying dependence graphs: a hierarchical approach

    Publication Year: 2001, Page(s):261 - 270
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (872 KB) | HTML iconHTML

    We present a method to handle data- and control-flow information, represented as simplified system dependence graphs. As soon as a program is bigger than a few dozens of lines of code, its dependence graph becomes unreadable with standard drawing tools, since it contains far too many nodes and edges. In our approach, we propose to decompose the program into a hierarchy of groups that are likely to... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • REportal: a Web-based portal site for reverse engineering

    Publication Year: 2001, Page(s):221 - 230
    Cited by:  Papers (13)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (856 KB) | HTML iconHTML

    We present a Web-based portal site for the reverse engineering of software systems, called REportal (Reverse Engineering portal). REportal enables authorized users to upload their code to a secure Web site and then, through the guidance of wizards, to browse and analyze their code. Currently, the portal services include code analysis, browsing, querying and design extraction for C, C++ and Java pr... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Towards a standard schema for C/C++

    Publication Year: 2001, Page(s):49 - 58
    Cited by:  Papers (17)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (840 KB) | HTML iconHTML

    Developing a standard schema at the abstract syntax tree (AST) level for C/C++ to be used by reverse engineering and reengineering tools is a complex and difficult problem. In this paper we present a catalogue of issues that need to be considered in order to design a solution. Three categories of issues are discussed. Lexical structure is the first category and pertains to characteristics of the s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CRAFT: a framework for evaluating software clustering results in the absence of benchmark decompositions [Clustering Results Analysis Framework and Tools]

    Publication Year: 2001, Page(s):93 - 102
    Cited by:  Papers (11)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1048 KB) | HTML iconHTML

    Software clustering algorithms are used to create high-level views of a system's structure using source code-level artifacts. Software clustering is an active area of research that has produced many clustering algorithms. However, we have so far seen very little work that investigates how the results of these algorithms can be evaluated objectively in the absence of a benchmark decomposition or wi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Wrapping legacy COBOL programs behind an XML-interface

    Publication Year: 2001, Page(s):189 - 197
    Cited by:  Papers (20)  |  Patents (19)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (600 KB) | HTML iconHTML

    This paper describes the tools and techniques for encapsulating host COBOL programs with an XML interface. The legacy programs are divided into three classes - online programs, batch programs and subprograms. For each program type, a different wrapping technique and a different tool is employed. Online programs are transformed into data-driven subprograms which process an XML document. Batch progr... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reengineering relational databases to object-oriented: constructing the class hierarchy and migrating the data

    Publication Year: 2001, Page(s):335 - 344
    Cited by:  Papers (6)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (808 KB) | HTML iconHTML

    The object-oriented data model is predicted to be the heart of the next generation of database systems. Users want to move from old legacy databases into applying this new technology that provides extensibility and flexibility in maintenance. However, a major limitation on the wide acceptance of object-oriented databases is the amount of time and money invested on existing database applications, w... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parsing in a hostile world

    Publication Year: 2001, Page(s):291 - 300
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (816 KB) | HTML iconHTML

    The paper describes a formalization and development effort aimed at automating the production of parsers for languages for which the common classifications (LALR (F. DeRemer and T.J. Pennello, 1982; B.B. Kristensen and O.L. Madsen, 1981), LL), and even the common division of labor between lexical and syntactical analysis, do not apply. This effort, implemented in tools named DURA and lexyt, aims a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse engineering to achieve maintainable WWW sites

    Publication Year: 2001, Page(s):249 - 257
    Cited by:  Papers (31)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (744 KB) | HTML iconHTML

    The growth of the World Wide Web and the accelerated development of web sites and associated web technologies has resulted in a variety of maintenance problems. The maintenance problems associated with web sites and the WWW are examined. It is argued that currently web sites and the WWW lack both data abstractions and structures that could facilitate maintenance. A system to analyse existing web s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An investigation into the connectivity properties of source-header dependency graphs

    Publication Year: 2001, Page(s):115 - 124
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (784 KB) | HTML iconHTML

    A modularization is a partitioning of a software system into components based on a variety of criteria, each depending on the clustering approach and desired level of abstraction. Source-header dependency graphs are bipartite graphs that are formed by flattening include file dependencies and enumerating source-file-to-header-file dependencies. In this paper, we describe an approach for identifying... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Modeling the system-user dialog using interaction traces

    Publication Year: 2001, Page(s):208 - 217
    Cited by:  Papers (13)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (856 KB) | HTML iconHTML

    It is generally the case that some user interface (UI) reverse engineering is needed for every non-trivial reengineering project. Typically, this is done through code analysis, which can be very difficult and/or expensive. When code analysis is not a must, as for wrapping purposes, system-user interaction can be an alternative input for the reverse engineering process. In the CelLEST project, we h... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Simple type system for program reengineering

    Publication Year: 2001, Page(s):357 - 361
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (368 KB) | HTML iconHTML

    This paper describes a type system used in a disassembler program to produce enhanced disassembly output The type system described in this paper is capable of representing C language types. It operates using the following methodology. First, the type information is collected from the standard C headers and is stored in type library files. The stored information is then used to comment and enhance ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A retrospective on industrial database reverse engineering projects. 1

    Publication Year: 2001, Page(s):136 - 146
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (888 KB) | HTML iconHTML

    This paper presents a compilation of results from the reverse engineering of 35 databases. All the work was performed by the same reverse engineer (the author) over the past nine years. Since the quantity of data is large, it has been split between two papers View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse program calculation supported by code slicing

    Publication Year: 2001, Page(s):35 - 45
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (720 KB) | HTML iconHTML

    This paper sketches a discipline for reverse engineering which combines formal and semi-formal methods. Among the former is the "algebra of programming", which we apply in "reverse order" so as to reconstruct formal specifications of legacy code. The latter includes code slicing, used as a means of trimming down the complexity of handling the formal semantics of all program variables at the same t... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Application of UML associations and their adornments in design recovery

    Publication Year: 2001, Page(s):81 - 90
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (848 KB) | HTML iconHTML

    Many CASE tools support reverse engineering and UML. However, it can be observed that, usually, only a subset of the UML notation is supported, namely those parts with a more or less direct code representation. Although a lot of research has been done in this field, the more advanced features of UML notations are not commonly supported in reverse engineering. In this paper, we show approaches to d... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Computer security analysis through decompilation and high-level debugging

    Publication Year: 2001, Page(s):375 - 380
    Cited by:  Papers (7)  |  Patents (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (616 KB) | HTML iconHTML

    The extensive use of computers and networks worldwide has raised the awareness of the need for tools and techniques to aid in computer security analysis of binary code, such as the understanding of viruses, trojans, worms, backdoors and general security flaws, in order to provide immediate solutions with or without the aid of software vendors. The paper is a proposal for a high-level debugging too... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program comprehension risks and opportunities in extreme programming

    Publication Year: 2001, Page(s):176 - 185
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (952 KB) | HTML iconHTML

    Investigates the relationship between reverse engineering and program comprehension on the one hand, and the software process on the other. To understand this relationship, we select one particular existing software process, extreme programming (XP), and study the role played in it by program comprehension and reverse engineering. To that end, we analyze five key XP practices in depth: pair progra... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Interactive migration of legacy databases to net-centric technologies

    Publication Year: 2001, Page(s):328 - 334
    Cited by:  Papers (2)  |  Patents (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (648 KB) | HTML iconHTML

    Due to the rapid growth of e-commerce (and other Internet-related technologies), many companies want to migrate their information systems to the net-centric environment. We are proposing a toolkit (Varlet/Babel) that helps the user to achieve this goal. This is accomplished in two stages. In the first stage, a database schema is obtained and refined, then an XML description for the database schema... View full abstract»

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