11319559
On inserting program understanding technology into the software change process
Program understanding technologies can be applied effectively in the analysis phase of a software change process. The analysis phase naturally follows a goal driven metaprocess. Described are issues involved with inserting program understanding technology into existing practice and into such a metaprocess. The implied processes of program understanding and reverse engineering tools play an important role. These issues pose major problems for the acceptance of redocumentation tools such as Rigi, an evolvable reverse engineering tool. An example using Rigi and its analysis methodology for change impact analysis is considered.
8168660
Towards an integrated toolset for program understanding
This paper describes some early results of a three-year project to develop an integrated toolset for program understanding. The implemented integration architecture involves both a global repository for all tools serviced by the architecture and a software bus serving communications among tools.
15591165
Using an integrated toolset for program understanding
This paper demonstrates the use of an integrated toolset for program understanding. By leveraging the unique capabilities of individual tools, and exploiting their power in combination, the resultant toolset is able to facilitate specific reverse engineering tasks that would otherwise be difficult or impossible. This is illustrated by applying the integrated toolset to several typical reverse engineering scenarios, including code localization, data flow analysis, pattern matching, system clustering, and visualization, using a mid-size production program as the reference system.
6619418
The Software Bookshelf
Legacy software systems are typically complex, geriatric, and difficult to change, having evolved over decades and having passed through many developers. Nevertheless, these systems are mature, heavily used, and constitute massive corporate assets. Migrating such systems to modern platforms is a significant challenge due to the loss of information over time. As a result, we embarked on a research project to design and implement an environment to support software migration. In particular, we focused on migrating legacy PL/I source code to C++, with an initial phase of looking at redocumentation strategies. Recent technologies such as reverse engineering tools and World Wide Web standards now make it possible to build tools that greatly simplify the process of redocumenting a legacy software system. In this paper we introduce the concept of a software bookshelf as a means to capture, organize, and manage information about a legacy software system. We distinguish three roles directly involved in the construction, population, and use of such a bookshelf: the builder, the librarian, and the patron. From these perspectives, we describe requirements for the bookshelf, as well as a generic architecture and a prototype implementation. We also discuss various parsing and analysis tools that were developed and integrated to assist in the recovery of useful information about a legacy system. In addition, we illustrate how a software bookshelf is populated with the information of a given software project and how the bookshelf can be used in a program-understanding scenario. Reported results are based on a pilot project that developed a prototype bookshelf for a software system consisting of approximately 300K lines of code written in a PL/I dialect.
1805653
Domain-retargetable reverse engineering
A user programmable approach to reverse engineering is described. The approach uses a scripting language that enables users to write their own routines for these activities, making the system domain-retargetable. The environment supported by this programmable approach subsumes existing reverse engineering systems by being able to simulate facets of each one and provides a smooth transition from semi-automatic to automatic reverse engineering.<<ETX>>
16840924
Improving Transliteration with Precise Alignment of Phoneme Chunks and Using Contextual Features
Automatic transliteration of foreign names is basically regarded as a diminutive clone of the machine translation (MT) problem. It thus follows IBM's conventional MT models under the source-channel framework. Nonetheless, some parameters of this model dealing with zero-fertility words in the target sequences, can negatively impact transliteration effectiveness because of the inevitable inverted conditional probability estimation. Instead of source-channel, this paper presents a direct probabilistic transliteration model using contextual features of phonemes with a tailored alignment scheme for phoneme chunks. Experiments demonstrate superior performance over the source-channel for the task of English-Chinese transliteration.
12048594
Camera Calibration from Symmetry
This paper addresses the problem of calibrating a pinhole camera from images of a surface of revolution. Camera calibration is the process of determining the intrinsic or internal parameters (i.e. aspect ratio, focal length and principal point) of a camera, and is important for both motion estimation and metric reconstruction of 3D models. In this paper, a novel and simple calibration technique has been introduced which is based on the symmetry of images of surfaces of revolution. Traditional techniques for camera calibration involve taking images of some precisely machined calibration pattern (such as a calibration grid). The use of surfaces of revolution, which are commonly found in daily life (e.g. bowls and vases), makes the process easier as a result of the reduced cost and increased accessibility of the calibration objects. In this paper, it is shown that 2 images of surface of revolution will provide enough information for determining the aspect ratio, focal length and principal point of a camera. An analytical error model is developed, providing variances and confidence intervals of the parameters estimated. The techniques presented in this paper have been implemented and tested with both synthetic and real data. Experiment results show that the camera calibration method presented here is both practical and accurate.
14765016
4th international workshop on adoption-centric software engineering
The ACSE series of events aims to advance the adoption of software engineering tools and techniques by bringing together researchers and practitioners who investigate novel approaches to fostering the transition between limited-use research prototypes and broadly applicable practical solutions. One proven technique to aid adoption is to leverage existing commercial platforms and infrastructure. The key objective of ACSE 2004 is to explore innovative approaches to the adoption of proofof- concept systems by embedding them in extensions of Commercial Off-The-Shelf (COTS) products and/or using middleware technologies to integrate the prototypes into existing toolsets.
6429264
Research challenges in the reverse engineering community
This working session will discussfidticre directions for research and practice in sofware reverse engineering and reengineering, including the challenging issues of program transformation, dealing with net-centric applications, and improving the maturity of the reverse engineering process. 1. Program Transformation Speaker: Kostas Kontogiannis, U Waterloo, Canada An area of significant importance to the reverse engineering and reengineering community is the design and implementation of methods, techniques, and tools that support program transformation in compliance with the functional and non-functional requirements of the new migrant system. Other important areas of research include: the fransformation of procedural code to object-oriented platforms; restructuring and refactoring source code to enhance its maintainability, reliability, or performance; and developing wrapping techniques and tools so that legacy systems can be migrated to modem, net-centric platforms. Moreover, experimental studies are needed to evaluate the effectiveness, usability, and scalability of methods, techniques, and tools for analyzing and tranforming complex industrial systems.
9524579
Epipolar geometry from profiles under circular motion
Addresses the problem of motion estimation from profiles (apparent contours) of an object rotating on a turntable in front of a single camera. A practical and accurate technique for solving this problem from profiles alone is developed. It is precise enough to reconstruct the shape of the object. No correspondences between points or lines are necessary. Symmetry of the surface of revolution swept out by the rotating object is exploited to obtain the image of the rotation axis and the homography relating epipolar lines in two views robustly and elegantly. These, together with geometric constraints for images of rotating objects, are used to obtain first the image of the horizon, which is the projection of the plane that contains the camera centers, and then the epipoles, thus fully determining the epipolar geometry of the image sequence. The estimation of this geometry by this sequential approach avoids many of the problems found in other algorithms. The search for the epipoles, by far the most critical step, is carried out as a simple 1D optimization. Parameter initialization is trivial and completely automatic at all stages. After the estimation of the epipolar geometry, the Euclidean motion is recovered using the fixed intrinsic parameters of the camera obtained either from a calibration grid or from self-calibration techniques. Finally, the spinning object is reconstructed from its profiles using the motion estimated in the previous stage. Results from real data are presented, demonstrating the efficiency and usefulness of the proposed methods.