SUMMARYThe Java .class file is a compact encoding of programs for a stack-based virtual machine. It is intended for use in a networked environment, which requires machine independence and minimized consumption of network bandwidth. However, as in all interpreted virtual machines, performance does not match that of code generated for the target machine. We propose verifiable, machine-independent annotations to the Java class file to bring the quality of the code generated by a 'just-in-time' compiler closer to that of an optimizing compiler without a significant increase in code generation time. This division of labor has expensive machine-independent analysis performed off-line and inexpensive machine-dependent codegeneration performed on the client. We call this phenomenon 'super-linear analysis and linear exploitation.' These annotations were designed mindful of the concurrency features of the Java language. In this paper we report results from our machine-independent, prioritized register assignment. We also discuss other possible annotations.
Current location-aware information systems lack an effective method of maintaining and updating dynamic, location-specific content. We have developed a design for representing locationspecific content that balances flexibility and comprehensibility. We have developed a web-based content management system that implements this design. The system provides an easy-to-use interface to tie any form of media-such as text, pictures, audio, or video-to a location.This work is directly applicable to various forms of locationaware systems, such as tourist information, campus guides, and vehicular on-board navigation. Our work enhances these systems by providing a greater range of content and a more dynamic information base than is currently available in extant systems. We describe how our design allows end-users to easily contribute spatial data to these systems, while simultaneously providing structure to their contributions. Mobile users, utilizing WLAN hotspots in common, real-world environments, can greatly benefit from and easily contribute to location-aware information systems driven by spatially-aware content management systems.
Software design patterns and refactoring browsers are useful tools in developing high-quality software. Object-Oriented Oracle (OOO) is a tool that combines patterns and refactoring and extends them with the ability to recognize when the source-base doesn't adhere to software design principles. OOO relies on sophisticated compiler analyses and a set of heuristics to recognize characteristics of the code where a design principle is applicable, but is not being used. We present an example where the OOO can recognize noncompliance of design rules and the analyses and heuristics that are used to do the recognition. We also discuss other patterns where this approach applies and results from a prototype.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.