Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, mos...
详细信息
ISBN:
(纸本)159593491X
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. Our study of the API changes in five components revealed that over 80% of the changes that break existing applications are caused by refactorings. This suggests that refactoring-based migration tools should be used to effectively upgrade applications. We propose an approach that is both automated and safe, without any overhead on the component producers. First, component refactorings are automatically detected (either inferred or recorded), then they are incorporated into applications by replaying.
Pluggable types have been proposed to support multiple type systems in the same programming language. We have designed and implemented JavaCOP, a program constraint system for implementing practical pluggable type sys...
详细信息
The JavaTMprogramming language contains built-in synchronization primitives for use in constructing multithreaded programs. Efficient implementation of these synchronization primitives is necessary in order to achieve...
详细信息
We describe the Sun1 Small Programmable object Technology, or Sun SPOT. The Sun SPOT is a small wireless computing platform that runs Java1 directly, with no operating system. The system comes with an on-board set of ...
详细信息
ISBN:
(纸本)159593491X
We describe the Sun1 Small Programmable object Technology, or Sun SPOT. The Sun SPOT is a small wireless computing platform that runs Java1 directly, with no operating system. The system comes with an on-board set of sensors, and I/O pins for easy connection to external devices, and supporting software.
Domain-specific languages (DSLs) assist an end-user programmer in writing programs using idioms that are closer to the abstractions found in a specific problem domain. Language testing tool support for DSLs is lacking...
详细信息
ISBN:
(纸本)159593491X
Domain-specific languages (DSLs) assist an end-user programmer in writing programs using idioms that are closer to the abstractions found in a specific problem domain. Language testing tool support for DSLs is lacking when compared to the capabilities provided in standard general purpose languages (e.g., Java and C++). For example, support for debugging a program written in a DSL is often nonexistent. This research abstract describes a grammar-driven technique to build a testing tool generation framework through automated transformation of existing DSL grammars. The modified grammars generate the hooks needed to interface with a supporting infrastructure written for an Integrated Development Environment that assists in debugging, testing, and profiling a DSL program.
Getting a new programming language into the hands of users is still a huge undertaking. SAFARI is an Eclipse-based meta-tooling framework for generating language-specific IDEs that greatly accelerates that process. It...
详细信息
ISBN:
(纸本)159593491X
Getting a new programming language into the hands of users is still a huge undertaking. SAFARI is an Eclipse-based meta-tooling framework for generating language-specific IDEs that greatly accelerates that process. It exploits common themes and structures that recur in many languages and language tools. It supports the generation of language-dependent IDE services, while allowing developers to focus on the language-specific aspects of their environments rather than the surrounding IDE framework. SAFARI has been used to generate IDEs for several languages. These IDEs include such features as parser generation;editors with keyword highlighting, text folding, text completion, hyperlinking and so on;outline views, project building;and more.
Scripting languages are ubiquitous in modern software engineering and are often used as the sole language for application development. However, some applications, specifically scientific and multimedia applications, o...
详细信息
ISBN:
(纸本)159593491X
Scripting languages are ubiquitous in modern software engineering and are often used as the sole language for application development. However, some applications, specifically scientific and multimedia applications, often have small sections of code that require a higher level of performance than the host language can deliver. In many cases, the algorithm being optimized is simple and has a clear mapping to hardware resources. But, without introducing an intermediate language, developers generally have no direct methods to implement an optimized *** this paper, we present the synthetic programming environment, a run-time system for synthesizing and executing high-performance instruction sequences directly from scripting languages. Our implementation, available for download, is implemented in Python for PowerPC processors and gives Python developers direct access to system resources for performance critical code. We discuss strategies for creating and managing synthetic programs and provide two real-world examples, an interactive particle system and a chemical fingerprint comparison tool.
A promising approach for type-safe generic codes in the object-oriented paradigm is variant parametric type, which allows covariant and contravariant subtyping on fields where appropriate. Previous approaches formalis...
详细信息
Informative Workspace is one of the new practices launched in the second edition of "Extreme programming Explained" [1]. To follow this practice, an agile team builds feedback mechanisms around them that sup...
详细信息
ISBN:
(纸本)159593491X
Informative Workspace is one of the new practices launched in the second edition of "Extreme programming Explained" [1]. To follow this practice, an agile team builds feedback mechanisms around them that support them in their daily work. These feedback mechanisms can take the form of visual displays, Information Radiators [2], which are manually updated by the team, or electronic eXtreme Feedback Devices [3] (XFD), such as lava lamps or audio signals linked to automated processes. It is vital to ensure that feedback mechanisms are easy to interpret, low maintenance and adapted to local working practices. This workshop will gather and share experiences on how to develop and maintain an Informative Workspace.
oopsla attendees have traditionally looked to the panel program for red-meat relief from a diet of high-fiber technical track material and abstruse Onward! exotica. However, panels often feature a tired parade of the ...
详细信息
ISBN:
(纸本)159593491X
oopsla attendees have traditionally looked to the panel program for red-meat relief from a diet of high-fiber technical track material and abstruse Onward! exotica. However, panels often feature a tired parade of the usual suspects: the same faces hawking the same hackneyed twentieth century ideas over and over again. At the same time, familiar names are a predicable draw. The effect is that it may take many years for new blood to find its way into the panel *** panel seeks to break this logjam by featuring only panelists at or under the age of 0x20. They will offer their opinions and insights as to what we have been doing wrong for the last twenty years and what they will have to do fix it. Grudging recognition of what has gone right may be offered as *** to guarantee the anonymity of the most brash positions will allow the participants to be provocative as well as precocious.
暂无评论