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
  • Folding: an approach to enable program understanding of preprocessed languages

    Publication Year: 2001, Page(s):3 - 12
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (927 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.
  • Generating robust parsers using island grammars

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

    Source model extraction, the automated extraction of information from system artifacts, is a common phase in reverse engineering tools. One of the major challenges of this phase is creating extractors that can deal with irregularities in the artifacts that are typical for the reverse engineering domain (for example, syntactic errors, incomplete source code, language dialects and embedded languages... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Node coarsening calculi for program slicing

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

    Several approaches to reverse and re-engineering are based upon program slicing. Unfortunately, for large systems, such as those which typically form the subject of reverse engineering activities, the space and time requirements of slicing can be a barrier to successful application. Faced with this problem, several authors have found it helpful to merge control flow graph (CFG) nodes, thereby impr... 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 (844 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.
  • Towards a standard schema for C/C++

    Publication Year: 2001, Page(s):49 - 58
    Cited by:  Papers (21)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (964 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.
  • Union schemas as a basis for a C++ extractor

    Publication Year: 2001, Page(s):59 - 67
    Cited by:  Papers (21)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (741 KB) | HTML iconHTML

    An extractor is a program which processes source code and outputs facts about the code in a software exchange format (SEF). An SEF can be further specified by a schema, analogous to a schema for a database. This paper explains how two such schemas can be combined into a union schema as the basis for creating an extractor. We describe CPPX (C Plus Plus eXtractor), which transforms a schema designed... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Requirements-driven software re-engineering framework

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

    Software re-engineering projects such as migrating code from one platform to another or restructuring a monolithic system into a modular architecture are popular maintenance tasks. Usually, projects of this type have to conform to hard and soft quality constraints (or non-functional requirements) such as "the migrant system must run as fast as the original", or "the new system should be more maint... 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 (981 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.
  • 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 (1197 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.
  • Component clustering based on maximal association

    Publication Year: 2001, Page(s):103 - 114
    Cited by:  Papers (17)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1255 KB) | HTML iconHTML

    Presents a supervised clustering framework for recovering the architecture of a software system. The technique measures the association between the system components (such as files) in terms of data and control flow dependencies among the groups of highly related entities that are scattered throughout the components. The application of data mining techniques allows us to extract the maximum associ... 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 (899 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.
  • From an informal textual lexicon to a well-structured lexical database: an experiment in data reverse engineering

    Publication Year: 2001, Page(s):127 - 135
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (829 KB) | HTML iconHTML

    We present an experiment in data reverse engineering in the field of computational linguistics. We explain a methodology which preserves to a great extent the original input format, allowing parallel acquisition/updating of the data with processing at a more structured representation level. We motivate the use for such applications of Objective Caml, a functional programming language with strong s... 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 (992 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.
  • A retrospective on industrial database reverse engineering projects - part 2

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

    For pt.1 see ibid., p.136-46 (2001). The paper continues the compilation of results from the reverse engineering of 35 databases. It presents a series of standard observations and their variation across the databases. It reports additional experimental data from database reverse engineering. The paper yields insight into the state of the practice for database design. It is clear that the current p... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Maximizing functional cohesion of comprehension environments by integrating user and task knowledge

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

    Program comprehension tools should facilitate the comprehension strategies used by programmers to achieve specific tasks. Many reverse engineering tools have been developed to derive abstract representations from existing source code and to apply a variety of analysis techniques. Yet, most of these software programs fail to provide users with the necessary guidance in choosing the appropriate meth... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Characterizing the informal knowledge contained in systems

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

    Program comprehension of legacy systems is a highly knowledge-intensive task. One of the goals of reverse engineering is to propose automated help to relate application domain concepts to all their implementation instances. It is generally accepted that to do so would require analyzing such documentation as identifiers or comments. However, before attempting to perform this difficult analysis, it ... 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 (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1092 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.
  • 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 (693 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.
  • Wrapper development for legacy data reuse

    Publication Year: 2001, Page(s):198 - 207
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (907 KB) | HTML iconHTML

    This paper is devoted to the technology of wrappers for legacy data systems reuse. Their characteristics are outlined and a generic wrapper architecture is defined. This architecture is intended to be instantiated for specific legacy data models and systems. A general methodology is proposed to define the architecture components. The methodology is supported by an operational CASE tool that helps ... 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 (15)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (979 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.
  • 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 (979 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.
  • 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 (860 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.
  • Flexible reverse engineering of web pages with VAQUISTA

    Publication Year: 2001, Page(s):241 - 248
    Cited by:  Papers (23)  |  Patents (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1024 KB) | HTML iconHTML

    VAQUISTA allows developers to reverse engineer a presentation model of a web page according to multiple reverse engineering options. The alternatives offered by these options not only widen the spectrum of possible presentation models but also encourage developers in exploring multiple reverse engineering strategies. The options provide filtering capabilities in a static analysis of HTML code that... 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 (32)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (849 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.