991816
Wrapping coarse-grained objects using standard infrastructure technology
There are two basic approaches to migrating a particular subsystem: reengineering and wrapping. The author considers coarse-grained object wrapping. In wrapping, the original subsystem is essentially integrated into the new setting using infrastructure technologies. Legacy systems that have evolved over many years are notoriously difficult to decompose. Wrapping is most effective if the legacy system can be decomposed into a few large chunks where the number of communication paths among subsystems is minimized. The author discusses the use of infrastructure technology such as CORBA (Common Object Request Broker Architecture)
62300434
How do program understanding tools affect how programmers understand programs?
Abstract In this paper, we explore the question of whether program understanding tools enhance or change the way that programmers understand programs. The strategies that programmers use to comprehend programs vary widely. Program understanding tools should enhance or ease the programmer's preferred strategies, rather than impose a fixed strategy that may not always be suitable. We present observations from a user study that compares three tools for browsing program source code and exploring software structures. In this study, 30 participants used these tools to solve several high-level program understanding tasks. These tasks required a broad range of comprehension strategies. We describe how these tools supported or hindered the diverse comprehension strategies used.
3091024
On integrating visualization techniques for effective software exploration
This paper describes the SHriMP visualization technique for seamlessly exploring software structure and browsing source code, with a focus on effectively assisting hybrid program comprehension strategies. The technique integrates both pan+zoom and fisheye-view visualization approaches for exploring a nested graph view of software structure. The fisheye-view approach handles multiple focal points, which are necessary when examining several subsystems and their mutual interconnections. Source code is presented by embedding code fragments within the nodes of the nested graph. Finer connections among these fragments are represented by a network that is navigated using a hypertext link-following metaphor. SHriMP combines this hypertext metaphor with animated panning and zooming motions over the nested graph to provide continuous orientation and contextual cues for the user. The SHriMP tool is being evaluated in several user studies. Observations of users performing program understanding tasks with the tool are discussed.
17291567
Understanding software systems using reverse engineering technology perspectives from the Rigi project
Software engineering research has focused mainly on software construction and has neglected software maintenance and evolution. Proposed is a shift in research from synthesis to analysis. Reverse engineering is introduced as a possible solution to program understanding and software analysis. Presented is reverse engineering technology developed as part of the Rigi project. The Rigi approach involves the identification of software artifacts in the subject system and the aggregation of these artifacts to form more abstract architectural models. Reported are some analyses on the source code of SQL/DS, performed by the authors while visiting the Program Understanding project at the IBM Centre for Advanced Studies in Toronto.
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>>
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.
13460900
Reconstruction of sculpture from its profiles with unknown camera positions
Profiles of a sculpture provide rich information about its geometry, and can be used for shape recovery under known camera motion. By exploiting correspondences induced by epipolar tangents on the profiles, a successful solution to motion estimation from profiles has been developed in the special case of circular motion. The main drawbacks of using circular motion alone, namely the difficulty in adding new views and part of the object always being invisible, can be overcome by incorporating arbitrary general views of the object and registering its new profiles with the set of profiles resulting from the circular motion. We describe a complete and practical system for producing a three-dimensional (3D) model from uncalibrated images of an arbitrary object using its profiles alone. Experimental results on various objects are presented, demonstrating the quality of the reconstructions using the estimated motion.
61655346
Statistics on Logic Simulation
The high costs associated with logic simulation of large VLSI based systems have led to the need for new computer architectures tailored to the simulation task. Such architectures have the potential for significant speedups over standard software based logic simulators. Several commercial simulation engines have been produced to satisfy needs in this area. To properly explore the space of alternative simulation architectures, data is required on the simulation process itself. This paper presents a framework for such data gathering activity by first examining possible sources of speedup in the logic simulation task, examining the sort of data needed in the design of simulation engines, and then presenting such data. The data contained in the paper includes information on subtask times found in standard discrete event simulation algorithms, event intensities, queue length distributions and simultaneous event distributions.
1770470
Pose estimation using four corresponding points
Abstract In this paper, a novel model-based pose estimation system is developed. In this system, correspondences between four points on a rigid solid object and four points in an image are used to estimate the new position and orientation of that rigid object under full perspective projection. Synthetic and real data have been used to verify our method.
39791908
Optimal Power Flow Method Using Evolutionary Programming
This paper reports on an evolutionary programming based method for solving the optimal power flow problem. The method incorporates an evolutionary programming based load flow solution. To demonstrate the global optimisation power of the new method it is applied to the IEEE30 bus test system with highly non-linear generator input/output cost curves and the results compared to those obtained using the method of steepest descent. The results demonstrate that the new method shows great promise for solving the optimal power flow problem when it contains highly non-linear devices.
33950497
An Effective Method for Chinese Grammar Rule Learning
A new method of Chinese grammar rules learning is put forward in this paper. The key point of this method is to use part-of-speech (POS), semantic and contextual information together in learning and expressing Chinese grammar rules. In this way, not only Context Free Grammar (CFG) rules can be learnt, but also the ambiguous structures in POS can be identified automatically. Furthermore, non-ambiguous semantic rules and forbidden rules can be produced from ambiguous rules by using semantic and contextual information. Experimental results demonstrate that the complexity of Chinese parsing is greatly reduced using the different rules learnt by our method.