Ninth Working Conference on Reverse Engineering, 2002. Proceedings.

29-1 Nov. 2002

Filter Results

Displaying Results 1 - 25 of 35
  • Proceedings Ninth Working Conference on Reverse Engineering WCRE 2002

    Publication Year: 2002
    Request permission for commercial reuse | PDF file iconPDF (285 KB)
    Freely Available from IEEE
  • Applying spectral methods to software clustering

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

    The application of spectral methods to the software clustering problem has the advantage of producing results that are within a known factor of the optimal solution. Heuristic search methods, such as those supported by the Bunch clustering tool, only guarantee local optimality which may be far from the global optimum. In this paper, we apply the spectral methods to the software clustering problem ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Code extraction algorithms which unify slicing and concept assignment

    Publication Year: 2002, Page(s):11 - 20
    Cited by:  Papers (23)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (545 KB) | HTML iconHTML

    One approach to reverse engineering is to partially automate subcomponent extraction, improvement and subsequent recombination. Two previously proposed automated techniques for supporting this activity are slicing and concept assignment. However, neither is directly applicable in isolation; slicing criteria (sets of program variables) are simply too low level in many cases, while concept assignmen... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A study on the current state of the art in tool-supported UML-based static reverse engineering

    Publication Year: 2002, Page(s):22 - 32
    Cited by:  Papers (35)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (330 KB) | HTML iconHTML

    Today, software-engineering research and industry alike recognize the need for practical tools to support reverse-engineering activities. Most of the well-known CASE tools support reverse engineering in some way. The Unified Modeling Language (UML) has emerged as the de facto standard for graphically representing the design of object-oriented software systems. However, there does not yet exist a s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Register liveness analysis for optimizing dynamic binary translation

    Publication Year: 2002, Page(s):35 - 44
    Cited by:  Papers (4)  |  Patents (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (349 KB) | HTML iconHTML

    Dynamic binary translators compile machine code from a source architecture to a target architecture at run time. Due to the hard time constraints of just-in-time compilation only highly efficient optimization algorithms can be employed. Common problems are an insufficient number of registers on the target architecture and the different handling of condition codes in source and target architecture.... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Disassembly of executable code revisited

    Publication Year: 2002, Page(s):45 - 54
    Cited by:  Papers (54)  |  Patents (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (323 KB) | HTML iconHTML

    Machine code disassembly routines form a fundamental component of software systems that statically analyze or modify executable programs, e.g., reverse engineering systems, static binary translators, and link-time optimizers. The task of disassembly is complicated by indirect jumps and the presence of non-executable data - jump tables, alignment bytes, etc. - in the instruction stream. Existing di... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Estimating potential parallelism for platform retargeting

    Publication Year: 2002, Page(s):55 - 64
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (316 KB) | HTML iconHTML

    Scientific, symbolic, and multimedia applications present diverse computing workloads with different types of inherent parallelism. Tomorrow's processors will employ varying combinations of parallel execution mechanisms to efficiently harness this parallelism. The explosion of consumer products that incorporate high performance embedded computing will increase the stratification of the processor d... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Analysis of virtual method invocation for binary translation

    Publication Year: 2002, Page(s):65 - 74
    Cited by:  Papers (3)  |  Patents (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (303 KB) | HTML iconHTML

    The University of Queensland Binary Translator (UQBT) is a static binary translation framework that allows for the translation of binary, executable programs, from one architecture to another one. Using different specification files, the UQBT can be easily tailored for either a new source or target architecture. UQBT employs sophisticated analyses in order to abstract the binary code front the fea... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A methodology for developing transformations using the maintainability soft-goal graph

    Publication Year: 2002, Page(s):77 - 86
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (355 KB) | HTML iconHTML

    Over the past few years, we are experiencing a surge of evolution problems related to legacy object-oriented systems. Object orientation provides means for systems to be well-designed to meet numerous non-functional quality requirements. However mismanagement of the maintenance process and ill-planned modifications usually are amplified in an object-oriented context. The paper presents a re-engine... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Relating expectations to automatically recovered design patterns

    Publication Year: 2002, Page(s):87 - 96
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (313 KB) | HTML iconHTML

    At MITRE we are developing tools to aid analysts in assessing the operational usability and quality of object-oriented code. Our tools statically examine source code, automatically recognize the use of design patterns and relate pattern use to software qualities, coding goals, and system engineering expectations about the source code. Thus, through the use of automated design pattern analysis, we ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Java quality assurance by detecting code smells

    Publication Year: 2002, Page(s):97 - 106
    Cited by:  Papers (103)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (376 KB) | HTML iconHTML

    Software inspection is a known technique for improving software quality. It involves carefully examining the code, the design, and the documentation of software and checking these for aspects that are known to be potentially problematic based on past experience. Code smells are a metaphor to describe patterns that are generally associated with bad design and bad programming practices. Originally, ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • ConSUS: a scalable approach to conditioned slicing

    Publication Year: 2002, Page(s):109 - 118
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (369 KB) | HTML iconHTML

    Conditioned slicing can be applied to reverse engineering problems which involve the extraction of executable fragments of code in the context of some criteria of interest. This paper introduces ConSUS, a conditioner for the Wide Spectrum Language, WSL. The symbolic executor of ConSUS prunes the symbolic execution paths, and its predicate reasoning system uses the FermaT simplify transformation in... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using conceptual roles of data for enhanced program comprehension

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

    Without proper background, it is often very difficult for human beings to understand a legacy code. Domain knowledge is valuable to guide domain experts to efficiently comprehend and reengineer domain applications. In the comprehension process, what domain experts normally do is associate domain concepts in the human mind with their representations in the actual code. This paper is addressed as an... View full abstract»

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

    Publication Year: 2002, Page(s):128 - 137
    Cited by:  Papers (7)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (398 KB) | HTML iconHTML

    A trace is a record of the execution of a computer program, showing the sequence of operations executed. Dynamic traces are obtained by executing the program and depend upon the input. Static traces, on the other hand, describe potential sequences of operations extracted statically from the source code. Static traces offer the advantage that they do not depend upon input data. This paper describes... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse Architecting: seeking the architectonic

    Publication Year: 2002, Page(s):141 - 148
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (486 KB) | HTML iconHTML

    This is a position paper that aims to introduce a novel perspective that we hope will motivate a discussion in a direction useful for reverse-architecting efforts. This paper is fundamentally a philosophical think-piece that tries to draw the attention of the software engineering community to a deeper, and we argue is more useful, view of software architecture. This paper adopts a fresh look at th... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Practice patterns for architecture reconstruction

    Publication Year: 2002, Page(s):151 - 160
    Cited by:  Papers (8)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (310 KB) | HTML iconHTML

    Architecture reconstruction embodies benefits for commercial organizations. Reconstructing or recovering the architecture of software systems is primarily driven by the increased awareness of software architectures as a blueprint for systems and the resulting central role of architectures in development paradigms, like software product lines and component-based systems. This is especially the case... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Generation of architectural documentation using XML

    Publication Year: 2002, Page(s):161 - 169
    Cited by:  Papers (5)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (381 KB) | HTML iconHTML

    Documentation generation is the process of creating the system documentation at different levels of abstraction from the source code for a legacy system. The main goal is to help the stakeholders to understand the system with representations at the appropriate abstraction level. We follow an architecture reconstruction method to create an architectural model of the system and we use a documentatio... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Revealer: a lexical pattern matcher for architecture recovery

    Publication Year: 2002, Page(s):170 - 178
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (416 KB) | HTML iconHTML

    Program comprehension is crucial for software maintenance activities and is supported by reverse engineering techniques. Many of them analyze source code and use parsers to create higher-level representations of software systems that are more meaningful to engineers. But the application of parsers is for some reasons not always desirable. In this paper, we introduce Revealer a lightweight source m... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A denotational interprocedural program slicer

    Publication Year: 2002, Page(s):181 - 189
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (340 KB) | HTML iconHTML

    This paper extends a previously developed intraprocedural denotational program slicer to handle procedures. Using the denotational approach, slices can be defined in terms of the abstract syntax of the object language without the need of a control flow graph or similar intermediate structure. The algorithm presented here is capable of correctly handling the interplay between function and procedure... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program annotation in XML: a parse-tree based approach

    Publication Year: 2002, Page(s):190 - 198
    Cited by:  Papers (9)  |  Patents (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (274 KB) | HTML iconHTML

    In this paper we describe a technique that can be used to annotate source code with syntactic tags in XML format. This is achieved by modifying the parser generator bison to emit these tags for an arbitrary LALR grammar. We also discuss an immediate application of this technique, a portable modification of the gcc compiler, that allows for XML output for C, Objective C, C++ and Java programs. Whil... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An extensible tool for source code representation using XML

    Publication Year: 2002, Page(s):199 - 208
    Cited by:  Papers (13)  |  Patents (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (425 KB) | HTML iconHTML

    One of the problems facing software re-engineering projects is the fact that program source code is invariably stored in ASCII plain text format. This format doesn't reflect the underlying structure of the program. Consequently, software re-engineering or code migration tools need to unearth this structure. This paper explores the possibility of adopting XML format to represent program structure f... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Strategies for data reengineering

    Publication Year: 2002, Page(s):211 - 220
    Cited by:  Papers (11)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (312 KB) | HTML iconHTML

    This paper describes and analyzes a series of strategies to migrate data-intensive applications from a legacy data management system to a modern DMS. Considering two ways to migrate the data and three ways to propagate the corresponding perturbation to the program code, the paper identifies six reference strategies that provide different levels of quality and induce different costs. Three of them ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Finding high-level structures in spreadsheet programs

    Publication Year: 2002, Page(s):221 - 232
    Cited by:  Papers (21)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (349 KB) | HTML iconHTML

    Spreadsheets are a common tool in end-user programming, but even while important decisions are based on spreadsheet computations, spreadsheets are poorly documented software and the differences between simple one-shot computations and large, long-living sheets are not well understood. Like other software, production spreadsheets are subject to repeated maintenance cycles. Consequently, as with con... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Verifying provisions for post-transaction user input error correction through static program analysis

    Publication Year: 2002, Page(s):233 - 242
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (335 KB) | HTML iconHTML

    Software testing is a time-consuming and error-prone process. Automated software verification is an important key to improve software testing. This paper presents a novel approach for the automated approximate verification of provisions of transactions for correcting effects that result from executing database transactions with wrong user inputs. The provision is essential in any database applicat... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Exposing data-level parallelism in sequential image processing algorithms

    Publication Year: 2002, Page(s):245 - 254
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (472 KB) | HTML iconHTML

    As new computer architectures are developed to exploit large-scale data-level parallelism, techniques are needed to retarget legacy sequential code to these platforms. Sequential programming languages force programmers to include sequential artifacts in their code, particularly with respect to how the source code expresses data references (generally assuming a linear address space). In contrast, d... View full abstract»

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