7785482
Strategies for Migration from C to Java
With the growing popularity of the Java programming language for both client and server side applications in network centric computing, there is a rising need for programming libraries that can be easily integrated into Java programs. Many mature programming libraries exist for the C programming language. This paper surveys approaches to the migration of C source code to Java and evaluates their usefulness with respect to the integration of the migrated code into Java programs.
14705463
C to Java migration experiences
With the growing popularity of the Java programming language for both client and server side applications in network-centric computing, there is a rising need for programming libraries that can be easily integrated into Java programs. In a previous paper, we surveyed current strategies for integrating C source code into Java programs, pointed out their weaknesses and presented goals for an improved migration approach. In this paper, we present the Ephedra approach to software migration and report on the results of three case studies transliterating C source code to Java using the Ephedra environment.
18962931
Analyzing xfig using the Rigi tool suite
An experiment is conducted on how well expert users of program comprehension tools are able to perform specific program understanding and maintenance tasks on the xfig drawing program using these tools. The paper reports on the experiences of the users of the Rigi reverse engineering tool suite. Rigi is an interactive, visual tool designed to help developers better understand and redocument their software. Rigi includes parsers to read the source code of the subject software and produce a graph of extracted artifacts such as procedures, variables, calls, and data accesses. To manage the complexity of the graph, an editor allows the software engineer to automatically or manually collapse related artifacts into subsystems. These subsystems typically represent concepts such as abstract data types or personnel assignments. The created hierarchy can be navigated, analyzed, and presented using various automatic or user-guided graphical layouts.
222672
Development and maintenance of a Web site for a Bachelor program
This paper describes our experiences with the development and maintenance of the BSENG Web site, which provides information about a new Bachelor program for software engineering at the University of Victoria. The site's requirements lead to a design that emphasizes simplicity to ease maintenance. We used Macromedia Dreamweaver to develop the site. During development, we identified two important maintenance tasks: detection of dead links and preservation of the site's navigational structure, that are not well supported by Dreamweaver. We discuss how we use the Rigi reverse engineering environment to aid the Web site developer with these maintenance tasks.
6708049
Understanding New Metaphors
Metaphors are widespread in natural language. Most natural language processing systems have failed to adequately deal with this issue. A two part approach to this problem involving a Metaphoric Lexicon and a dynamic extension system is described. The extension mechanism operates by analogically mapping previously understood mappings to account for new uses based on known regularities in the English metaphor system. A system based on this approach has been applied to the UNIX domain. Results indicate that this domain exhibits all the predicted regularities and that understanding new senses is possible using these regularities
2946678
Conventional Metaphor and the Lexicon
Metaphor and other forms of non-literal language are essential parts of language which have direct bearing on theories of lexical semantics. Neither narrow theories of lexical semantics, nor theories relying solely on world knowledge are sufficient to account for our ability to generate and interpret non-literal language. This paper presents an emerging approach that may provide such an account. This approach is based on systematic representations that capture non-literal language conventions, and mechanisms that can dynamically understand and learn new uses as they are encountered.
14531338
Building a Foundation System for Producing Short Answers to Factual Questions
In this paper we describe question answering research being pursued as a joint project between Columbia University and the University of Colorado at Boulder as part of ARDA’s AQUAINT program. As a foundation for targeting complex questions involving opinions, events, and paragraph-length answers, we recently built two systems for answering short factual questions. We submitted results from the two systems to TREC’s Q&A track, and the bulk of this paper describes the methods used in building each system and the results obtained. We conclude by discussing current work aiming at combining modules from the two systems in a unified, more accurate system and adding capabilities for producing complex answers in addition to short ones.
12745888
Representing regularities in the metaphoric lexicon
This paper describes a system for representing knowledge about conventional metaphors for use by natural language analysis, generation and acquisition systems. A system of hierarchically related structured associations is used. These associations are implemented as a part of the KODIAK representation language. Particular attention is paid in this paper to representational mechanisms that can capture generalizations over the system of conventional metaphors as a whole.
5918485
A framework for dynamic Byzantine storage
We present a framework for transforming several quorum-based protocols so that they can dynamically adapt their failure threshold and server count, allowing them to be reconfigured in anticipation of possible failures or to replace servers as desired. We demonstrate this transformation on the dissemination quorum protocol. The resulting system provides confirmable wait-free atomic semantics while tolerating Byzantine failures from the clients or servers. The system can grow without bound to tolerate as many failures as desired. Finally, the protocol is optimal and fast: only the minimal number of servers - 3f + 1 - is needed to tolerate any f failures and, in the common case, reads require only one message round-trip.