bluuebunny/crossref_metadata_2025 huggingface dataset:
Perceptual plasticity in spatial auditory displays
Authors: Shinn-Cunningham Barbara G. , Streeter Timothy , Gyss Jean-François
Published: February 2006

Often, virtual acoustic environments present cues that are inconsistent with an individual's normal experiences. Through training, however, an individual can at least partially adapt to such inconsistent cues through either short- [Kassem 1998; Shinn-Cunningham 2000; Shinn-Cunningham et al. 1998a, 1998b; Zahorik 2001] or long- [Hofman et al. 1998] term exposure. The type and degree of inconsistency as well as the length of training determine the final accuracy and consistency with which the subject can localize sounds [Shinn-Cunningham 2000]. The current experiments of short-term adaptation measure how localization bias (mean error) and resolution (precision) change when subjects are exposed to auditory cue rearrangements simpler than those previously investigated. These results, combined with those of earlier experiments, suggest that there is plasticity at many different levels of the spatial auditory processing pathway with different time scales governing the plasticity at different levels of the system. This view of spatial auditory plasticity has important implications for the design of spatial auditory displays.
Spatial auditory display
Authors: Shinn-Cunningham Barbara G. , Streeter Timothy
Published: February 2006

Spatial auditory displays have received a great deal of attention in the community investigating how to present information through sound. This short commentary discusses our 2001 ICAD paper (Shinn-Cunningham, Streeter, and Gyss), which explored whether it is possible to provide enhanced spatial auditory information in an auditory display. The discussion provides some historical context and discusses how work on representing information in spatial auditory displays has progressed over the last 5 years.
Optimizing the spatial configuration of a seven-talker speech display
Authors: Brungart Douglas S. , Simpson Brian D.
Published: February 2006

Although there is substantial evidence that performance in multitalker listening tasks can be improved by spatially separating the apparent locations of the competing talkers, very little effort has been made to determine the best locations and presentation levels for the talkers in a multichannel speech display. In this experiment, a call sign based color and number identification task was used to evaluate the effectiveness of three different spatial configurations and two different level normalization schemes in a seven-channel binaural speech display. When only two spatially adjacent channels of the seven-channel system were active, overall performance was substantially better with a geometrically spaced spatial configuration (with far-field talkers at −90°, −30°, −10°, 0°, +10°, +30°, and +90° azimuth) or a hybrid near-far configuration (with far-field talkers at −90°, −30°, 0°, +30°, and +90° azimuth and near-field talkers at ±90°) than with a more conventional linearly spaced configuration (with far-field talkers at −90°, −60°, −30°, 0°, +30°, +60°, and +90° azimuth). When all seven channels were active, performance was generally better with a “better-ear” normalization scheme that equalized the levels of the talkers in the more intense ear than with a default normalization scheme that equalized the levels of the talkers at the center of the head. The best overall performance in the seven-talker task occurred when the hybrid near-far spatial configuration was combined with the better-ear normalization scheme. This combination resulted in a 20% increase in the number of correct identifications relative to the baseline condition with linearly spaced talker locations and no level normalization. Although this is a relatively modest improvement, it should be noted that it could be achieved at little or no cost simply by reconfiguring the HRTFs used in a multitalker speech display.
Optimizing a virtual speech display
Authors: Brungart Douglas S. , Simpson Brian D.
Published: February 2006

In our 2003 ICAD Paper “Optimizing the Spatial Configuration of a Seven Talker Speech Display,” we described a hybrid near-far spatial configuration that maximizes performance in a multitalker listening task. In this brief addendum, we describe our scientific motivation for that study, describe a supplementary experiment that extended the earlier work to two additional spatial configurations, and place the results of the study in the context of current and future research in audio displays.
Sonically-enhanced widgets
Authors: Brewster Stephen A.
Published: February 2006

This paper presents a review of the research surrounding the paper “The Design and Evaluation of a Sonically Enhanced Tool Palette” by Brewster and Clarke from ICAD 1997. A historical perspective is given followed by a discussion of how this work has fed into current developments in the area.
Data sonification from the desktop
Authors: Flowers John H. , Buhman Dion C. , Turnage Kimberly D.
Published: February 2006

The design of auditory formats for data display is presently focused on applications for blind or visually impaired users, specialized displays for use when visual attention must be devoted to other tasks, and some innovative work in revealing properties of complex data that may not be effectively rendered by traditional visual means. With the availability of high-quality and flexible sound production hardware in standard desktop computers, the potential exists for using sound to represent characteristics of typical “small and simpl” samples of data in routine data inspection and analysis. Our research has shown that basic properties of simple functions, distribution properties of data samples, and patterns of covariation between two variables can be effectively displayed by simple auditory graphs involving patterns of pitch variation over time. While such developments have implications for specialized applications and populations of users, these displays are easily comprehended by normal users with minimal practice. Providing further software enhancement to encourage exploration of data representation by sound may lead to a variety of useful creative developments in data display technology.
Musical program auralization
Authors: Vickers Paul , Alty James L.
Published: February 2006

Program auralization aims to communicate information about program state, data, and behavior using audio. We have argued that music offers many advantages as a communication medium [Alty 1995]. The CAITLIN system [Alty and Vickers 1997; Vickers 1999; Vickers and Alty 1996, 1998] was constructed to provide auralizations within a formal structured musical framework. Pilot studies [Alty and Vickers 1997; Vickers 1999] showed that programmers could infer program structure from auralizations alone. A study was conducted using 22 novice programmers to assess (i) whether novices could understand the musical auralizations and (ii) whether the musical experience and knowledge of subjects affected their performance. The results show that novices could interpret the auralizations (with accuracy varying across different levels of abstraction) and that musical knowledge had no significant effect on performance. A second experiment was conducted with another 22 novice programmers to study the effects of musical program auralization on debugging tasks. The experiment aimed to determine whether auralizations would lead to higher bug detection rates. The results indicate that, in certain circumstances, musical auralizations can be used to help locate bugs in programs and that musical skill does not affect the ability to make use of the auralizations. In addition, the experiment showed that subjective workload increased when the musical auralizations were used.
Program auralization
Authors: Vickers Paul
Published: February 2006

In this paper, we reflect upon the investigations into external auditory representations of programs (program auralization) reported by Vickers and Alty at ICAD 2000. First, we place the work in its historical and thematic context and explore the motivation that lay behind it. We then outline the process by which we got to the stage of being able to report empirical results in 2000 and compare the work with that done by other researchers in the field. Finally, we assess the major contribution that this work made to the field of auditory display and look to the future outlining the work still to be done since the paper was first published (we also look at work done by others in this area since 2000).
After direct manipulation---direct sonification
Authors: Fernström Mikael , McNamara Caolan
Published: February 2006

The effectiveness of providing multiple-stream audio to support browsing on a computer was investigated through the iterative development and evaluation of a series of
sonic browser
prototypes. The data set used was a database containing music. Interactive sonification was provided in conjunction with simplified human--computer interaction sequences. It was investigated to what extent interactive sonification with multiple-stream audio could enhance browsing tasks, compared to interactive sonification with single-stream audio support. It was found that with interactive multiple-stream audio, the ten users could accurately complete the browsing tasks significantly faster than those who had single-stream audio support.
Evaluation of auditory displays
Authors: Bonebright Terri L. , Miner Nadine E.
Published: February 2006

This commentary was written for the article “Data collection analysis techniques for evaluating the perceptual qualities of auditory stimuli” that was presented at the
International Conference on Auditory Display
in 1998. The original paper was written as a primer for research design and statistical evaluation of perceptual responses to auditory displays as well as a catalyst for the formation of interdisciplinary teams for such research. The authors' commentary notes that the ICAD community has shown an increase in cross-disciplinary collaboration but that researchers need to continue to improve their research designs and their statistical techniques to ensure accurate evaluation of auditory displays.
Using wavelets to synthesize stochastic-based sounds for immersive virtual environments
Authors: Miner Nadine E. , Caudell Thomas P.
Published: February 2006

Stochastic, or nonpitched, sounds fill our real-world environment. Humans almost continuously hear stochastic sounds, such as wind, rain, motor sounds, and different types of impact sounds. Because of their prevalence in real-world environments, it is important to include these types of sounds for realistic virtual environment simulations. This paper describes a synthesis approach that uses wavelets for modeling stochastic-based sounds. Parameterizations of the wavelet models yield a variety of related sounds from a small set of models. The result is dynamic sound models that can change according to changes in the virtual environment. This paper contains a description of the sound synthesis process, several developed models, and the on-going perceptual experiments for validating the sound synthesis veracity. The developed models and results demonstrate proof of the concept and illustrate the potential of this approach.
From physics to sound
Authors: Doel Kees van den
Published: February 2006

Wherever we are, what we hear is mostly noise. When we ignore it, it disturbs us. When we listen to it, we find it fascinating. The sound of a truck at 50 mph. Static between the stations. Rain. We want to capture and control these sounds, to use them, not as sound effects, but as musical instruments.---John Cage on the future of music---from a lecture given in 1937
Model-based sonification revisited---authors' comments on Hermann and Ritter, ICAD 2002
Authors: Hermann Thomas , Ritter Helge
Published: February 2006

We discuss the framework of Model-Based Sonification (MBS) and its contribution to a principled design of mediators between high-dimensional data spaces and perceptual spaces, particularly sound spaces. Data Crystallization Sonification, discussed in the reprinted paper, exemplifies the design of sonification models according to this framework. Finally, promising lines of development in this area are pointed out, concerning generalizations, applications, and open research directions.
Comparison of auditory, visual, and audiovisual navigation in a 3D space
Authors: Gröhn Matti , Lokki Tapio , Takala Tapio
Published: February 2006

A navigation test was carried out in a spatially immersive virtual environment. The test was a gamelike experience where the task of subjects was to find as many gates as possible while they navigated through a track guided by auditory and/or visual cues. The results are presented as a function of the number of found gates, searching times, and normalized path lengths. Audiovisual navigation was clearly the most efficient. Visual navigation was second and the auditory navigation the least efficient. Further analysis of travel paths indicate that auditory cues were utilized in the beginning to locate the next gate; a visual cue was the most important in the final approach to the gate.
Teaching quality object-oriented programming
Authors: Feldman Yishai A.
Published: February 2006

Computer science students need to learn how to write high-quality software. An important methodology for achieving quality is design-by-contract, in which code is developed together with its specification, which is given as class invariants and method pre- and postconditions. This paper describes practical experience in teaching design-by-contract and other principles of object-oriented programming and design by a comprehensive set of programming exercises. These are implemented in Java, augmented with a design-by-contract tool. The conceptual gap between the theoretical principles taught in the course and the capabilities of this programming environment causes pedagogical problems; these problems and some solutions are discussed in this paper.
The CAN microcluster
Authors: Kuban Paul A. , Ragade Rammohan K.
Published: February 2006

Most electrical engineering and computer science undergraduate programs include at least one course on microcontrollers and assembly language programming. Some departments offer legacy courses in C programming, but few include C programming from an embedded systems perspective, where it is still regularly used. Distributed computing and parallel processing are subjects generally reserved for graduate programs or specialized degrees. And although it is common to provide undergraduate courses on computer networks, the typical curriculum focuses on TCP/IP and Ethernet LANs, rarely venturing into the lesser known but commonly used networks such as the controller area network. By developing a computer cluster using simple microcontroller cards which communicate over a CAN, students are exposed to the intricacies of network communication, basic parallel and distributed processing concepts, and real-time embedded systems development. This paper presents the design of a <i<CAN Microcluster</i<, constructed using low-cost hardware components commonly available in ECE and CECS microcontroller laboratories. The software implementation is evaluated for both assembly language and C, and development issues are discussed.
A case library for teaching usability engineering
Authors: Carroll John M. , Rosson Mary Beth
Published: February 2006

Case studies of professional software development practices describe how real (or realistic) projects are planned and executed. Cases provide engaging models of the activities and materials of software development to students and other novice practitioners. They vividly remind learners of the possibilities for meaningfully applying knowledge and skills in the world beyond the classroom. During the past six years, we have developed and used a collection of usability engineering case studies for teaching human-computer interaction, primarily to upper-level undergraduates in computer science and in information sciences and technology. In this article we describe the rationale for this approach, the structural schema and browser that we developed for case studies, the case-based activities we employ in courses, and the experiences of instructors and students who have used the cases.
Separate handles from names on the internet
Authors: O'Donnell Michael J.
Published: February 2006

The human meaning of domain names attracts conflict over their control, degrading their reliability as permanent handles. Solution: support handles separately from names.
Challenges and constraints to the diffusion of biometrics in information systems
Authors: Chandra Akhilesh , Calderon Thomas
Published: February 2006

Biometrics are a promising technology for improving security, if they can overcome technical and social challenges.
Enhancing efficiency in the health care industry
Authors: Kudyba Stephan , Hamar G. Brent , Gandy William M.
Published: February 2006

This paper illustrates the use of advanced analytics to increase efficiency in the healthcare sector through cost reduction. The application of multivariate techniques on health population data depicted better accuracy in identifying patients at risk of developing a chronic illness (diabetes) than more conventional techniques. The model results enable healthcare providers to more effectively apply preventive treatment methods to the at-risk population to reduce the likelihood of individuals from experiencing a fully developed illness. An estimate of the cost savings in the form of preventing cases of fully developed diabetes through predictive modeling is included.
Calling for programmed technology transfer and adoption strategies for sustainable LDC growth
Authors: Musa Philip F. , Mbarika Victor W. , Meso Peter
Published: February 2006

Developing nations need a technology jumpstart---via basic technologies geared toward education, farming, and health care.
Challenges in forensic computing
Authors: Mercuri Rebecca
Published: February 2006

The ever-changing nature of technology contributes to the problems encountered by experts when collecting and preparing digital evidence for courtroom presentation.
Student research and the internet
Authors: Bruckman Amy S.
Published: February 2006

To help students understand the art of research and the reliability of sources in the age of online information, we should teach them about the nature of `truth'.
Secure knowledge management and the semantic web
Authors: Lee JinKyu , Upadhyaya Shambhu J. , Rao H. Raghav , Sharman Raj
Published: February 2006

Strengthening security within the domain of shared knowledge is a critical issue, and great challenge, to businesses today. A number of different protocols currently available offer an array of benefits and limitations.
Impact of software engineering research on the practice of software configuration management
Authors: Estublier Jacky , Leblang David , Hoek André van der , Conradi Reidar , Clemm Geoffrey , Tichy Walter , Wiborg-Weber Darcy
Published: February 2006

Software Configuration Management (SCM) is an important discipline in professional software development and maintenance. The importance of SCM has increased as programs have become larger, more long lasting, and more mission and life critical. This article discusses the evolution of SCM technology from the early days of software development to the present, with a particular emphasis on the impact that university and industrial research has had along the way. Based on an analysis of the publication history and evolution in functionality of the available SCM systems, we trace the critical ideas in the field from their early inception to their eventual maturation in commercially and freely available SCM systems. In doing so, this article creates a detailed record of the critical value of SCM research and illustrates how research results have shaped the functionality of today's SCM systems.
The impact of software engineering research on modern programming languages
Authors: Ryder Barbara G. , Soffa Mary Lou , Burnett Margaret
Published: February 2006

Software engineering research and programming language design have enjoyed asymbioticrelationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programming languages: data and procedural abstraction, types, concurrency, exceptions, and visual programming mechanisms. The influences are determined by tracing references in publications in both fields, obtaining oral histories from language designers delineating influences on them, and tracking cotemporal research trends and ideas as demonstrated by workshop topics, special issue publications, and invited talks in the two fields. In some cases there is conclusive data supporting influence. In other cases, there are circumstantial arguments (i.e., cotemporal ideas) that indicate influence. Using this approach, this study provides evidence of the impact of software engineering research on modern programming language design and documents the close relationship between these two fields.
Reasoning about static and dynamic properties in alloy
Authors: Frias Marcelo F. , López Pombo Carlos G. , Baum Gabriel A. , Aguirre Nazareno M. , Maibaum Thomas S. E.
Published: February 2006

We study a number of restrictions associated with the first-order relational specification language Alloy. The main shortcomings we address are:---the lack of a complete calculus for deduction in Alloy's underlying formalism, the so called relational logic,---the inappropriateness of the Alloy language for describing (and analyzing) properties regarding execution traces.The first of these points was not regarded as an important issue during the genesis of Alloy, and therefore has not been taken into account in the design of the relational logic. The second point is a consequence of the static nature of Alloy specifications, and has been partly solved by the developers of Alloy; however, their proposed solution requires a complicated and unstructured characterization of executions.We propose to overcome the first problem by translating relational logic to the equational calculus of
fork algebras
. Fork algebras provide a purely relational formalism close to Alloy, which possesses a complete equational deductive calculus. Regarding the second problem, we propose to extend Alloy by adding
actions
. These actions, unlike Alloy functions, do modify the state. Much the same as programs in dynamic logic, actions can be sequentially composed and iterated, allowing them to state properties of execution traces at an appropriate level of abstraction.Since automatic analysis is one of Alloy's main features, and this article aims to provide a deductive calculus for Alloy, we show that:---the extension hereby proposed does not sacrifice the possibility of using SAT solving techniques for automated analysis,---the complete calculus for the relational logic is straightforwardly extended to a complete calculus for the extension of Alloy.
Ownership confinement ensures representation independence for object-oriented programs
Authors: Banerjee Anindya , Naumann David A.
Published: February 2006

Representation independence formally characterizes the encapsulation provided by language constructs for data abstraction and justifies reasoning by simulation. Representation independence has been shown for a variety of languages and constructs but not for shared references to mutable state; indeed it fails in general for such languages. This article formulates representation independence for classes, in an imperative, object-oriented language with pointers, subclassing and dynamic dispatch, class oriented visibility control, recursive types and methods, and a simple form of module. An instance of a class is considered to implement an abstraction using private fields and so-called representation objects. Encapsulation of representation objects is expressed by a restriction, called confinement, on aliasing. Representation independence is proved for programs satisfying the confinement condition. A static analysis is given for confinement that accepts common designs such as the observer and factory patterns. The formalization takes into account not only the usual interface between a client and a class that provides an abstraction but also the interface (often called “protected”) between the class and its subclasses.
Behavioral theory for mobile ambients
Authors: Merro Massimo , Nardelli Francesco Zappa
Published: February 2006

We study a behavioral theory of
Mobile Ambients
, a process calculus for modelling mobile agents in wide-area networks, focussing on
reduction barbed congruence
. Our contribution is threefold. (1) We prove a
context lemma
which shows that only parallel and nesting contexts need be examined to recover this congruence. (2) We characterize this congruence using a
labeled bisimilarity
: this requires novel techniques to deal with asynchronous movements of agents and with the invisibility of migrations of secret locations. (3) We develop refined proof methods involving
up-to proof techniques
, which allow us to verify a set of
algebraic laws
and the correctness of more complex examples.
Locality analysis to control dynamically way-adaptable caches
Authors: Kobayashi Hiroaki , Kotera Isao , Takizawa Hiroyuki
Published: February 2006

This paper presents a control mechanism for dynamically way-adaptable caches. The mechanism uses the local and global information about the locality of reference during execution. As the local information, the cache access pattern is evaluated based on the statistics of the LRU (Least-Recently Used) states of cache entries referenced. If the memory accesses are concentrated on and near the most recently used entries, the mechanism knows that the locality of reference is very high and there is room to decrease the number of ways activated to fit the current locality. On the other hand, if the accesses are widely distributed from the most recently used entries to the least recently used ones, the mechanism understands that more ways are needed to improve the performance as long as the resources are available. In addition, to examine the global behavior of the locality of reference, an n-bit state machine like n-bit branch predictors is introduced into the mechanism. The state machine traces a sequence of cache resizing requests and evaluates its stability across the execution time. Therefore, the state machine helps the mechanism avoid unstable actions for enabling/disabling cache ways when the locality shows the highly irregular behavior. The experimental results indicate that an n-bit asymmetric state machine using the LRU status information works well to appropriately control cache ways even in the case of the benchmarks with highly-irregular access behaviors in cache references.
Speculative execution for hiding memory latency
Authors: Pajuelo Alex , González Antonio , Valero Mateo
Published: February 2006

L2 misses are one of the main causes for stalling the activity in current and future microprocessors.In this paper we present a mechanism to speculatively execute independent instructions of L2-miss loads, even if no entry in the reorder buffer is available. The proposed mechanism generates future instances of instructions that are expected to be independent of the delinquent load. When these dynamic instructions are later fetched, they use the previously precomputed data and directly go to the commit stage without executing.The mechanism replicates strided loads found above the L2-miss load, that produce the data for the target independent instructions. Instructions following the L2-miss load will check if their source operands have been replicated. In this case, multiple speculative instances of them will also be generated.This mechanism is built on top of a superscalar processor with an aggressive prefetch scheme. Compared to this baseline, the mechanism obtains 21% of performance improvement.
The impact of traffic aggregation on the memory performance of networking applications
Authors: Verdú Javier , García Jorge , Nemirovsky Mario , Valero Mateo
Published: February 2006

The trend of the networking processing is to increase the intelligence of the routers (i.e. security capacities). This means that there is an increment in the workload generated per packet and new types of applications are emerging, such as stateful programs. On the other hand, Internet traffic continues to grow vigorously. This fact involves an increment of the traffic aggregation levels and overloades the processing capacities of the routers.In this paper we show the importance of traffic aggregation level on networking application studies. We also classify the applications according to the data management of the packet processing. Hence, we present the different impacts on the data cache performance depending on the application category. Our results show that traffic aggregation level may affect the cache performance depending on the networking application category. Stateful applications show a significant sensitivity to this impact.
Open source application spaces
Authors: Feller Joseph , Fitzgerald Brian , Hissam Scott , Lakhani Karim , Scacchi Walt
Published: February 2006

Building on the success of the first four workshops in the series, which were held at ICSE 2001 (Toronto), ICSE 2002 (Orlando), ICSE 2003 (Portland) and ICSE 2004 (Edinburgh), the 5
th
Workshop on Open Source Software Engineering, ("Open Source Application Spaces") brought together researchers and practitioners for the purpose of building a roadmap of the ways in which various computing application spaces have been impacted by open source software and also by open source development methods, tools and organizational structures.
Surfing the net for software engineering notes
Authors: Doernhoefer Mark
Published: February 2006

Service Oriented Architecture (SOA) is one of the more popular buzzwords floating around the software engineering community these days. But what the heck is a Service Oriented Architecture? In various places I have seen SOA called an approach to software design, a reuse strategy, a development methodology, or a design pattern. Can an SOA be used to describe an entire enterprise architecture or does SOA refer to a single application architecture? For example, the Federal Enterprise Architecture contains a service component model, implying that a complete enterprise architecture could be composed entirely of services. Finally, is an SOA an effective architecture for actually implementing software? We'll try to find web resources that can help answer these questions.
Universal nonuniform random vector generator based on acceptance-rejection
Authors: Beliakov Gleb
Published: February 2006

The acceptance/rejection approach is widely used in universal nonuniform random number generators. Its key part is an accurate approximation of a given probability density from above by a hat function. This article uses a piecewise constant hat function, whose values are overestimates of the density on the elements of the partition of the domain. It uses a sawtooth overestimate of Lipschitz continuous densities, and then examines all local maximizers of such an overestimate. The method is applicable to multivariate multimodal distributions. It exhibits relatively short preprocessing time and fast generation of random variates from a very large class of distributions.
News 2.0
Authors: Stanik John
Published: February 2006

Apple’s announcement in June that it would begin using Intel chips took the computing world by surprise. The design-savvy company opted to begin using Intel chips in 2006, mostly because of Intel’s expertise in manufacturing low-power chips. Participants in the Apple Developer Connection recently received a developer’s kit that allows them to test their OS X code on Macs fitted with Intel chips, now increasingly known as “MacIntels.” The kit was enabled with security features to prevent others from installing --OS X on non-Macintosh x86 boxes.
What’s on Your Hard Drive?
Authors: O'Hanlon Charlene
Published: February 2006

One of the most interesting things about WOYHD is seeing how often certain tools appear under either the “love” or “hate” categories. In fact, over the past year we’ve developed a keen sense of which tools our readers love most and which they loathe most. It’s not that our data says anything about the overall popularity of any one product. A product that receives a large number of “hates” actually could be the most popular tool on the market.
Kode Vicious Unscripted
Authors: Neville-Neil George
Published: February 2006

Some months, when he’s feeling ambitious, Kode Vicious reads through all of your letters carefully, agonizing for days over which to respond to. Most of the time, though, he takes a less measured approach. This usually involves printing the letters out, throwing them up in the air, and seeing which land face up, repeating the process until only two remain. And occasionally, KV dispenses with reader feedback altogether, as is the case this month.
Learning from the Web
Authors: Bosworth Adam
Published: February 2006

In the past decade we have seen a revolution in computing that transcends anything seen to date in terms of scope and reach, but also in terms of how we think about what makes up “good” and “bad” computing.
Order from Chaos
Authors: Noy Natalya
Published: February 2006

There is probably little argument that the past decade has brought the “big bang” in the amount of online information available for processing by humans and machines. Two of the trends that it spurred (among many others) are: first, there has been a move to more flexible and fluid (semi-structured) models than the traditional centralized relational databases that stored most of the electronic data before; second, today there is simply too much information available to be processed by humans, and we really need help from machines. On today’s Web, however, most of the information is still for human consumption in one way or another.
Review of "Slamming Spam: A Guide for System Adminstrators by Robert Haskins and Dale Nielsen", Addison-Wesley Professional, 2004, $44.99 ISBN: 0131467166
Authors: Edwards J. S.
Published: February 2006

Review of "Slamming Spam: A Guide for System Adminstrators by Robert Haskins and Dale Nielsen", Addison-Wesley Professional, 2004, $44.99 ISBN: 0131467166
Review of "Official Eclipse 3.0 FAQs by John Arthorne and Chris Laffra", Addison-Wesley Professional, 2004, $34.99 ISBN: 0321268385
Authors: Karl Neil
Published: February 2006

Review of "Official Eclipse 3.0 FAQs by John Arthorne and Chris Laffra", Addison-Wesley Professional, 2004, $34.99 ISBN: 0321268385
Calendar
Authors: O'Hanlon Charlene
Published: February 2006

Web 2.0
Scalable component abstractions
Authors: Odersky Martin , Zenger Matthias
Published: February 2006

We identify three programming language abstractions for the construction of reusable components: abstract type members, explicit selftypes, and modular mixin composition. Together, these abstractions enable us to transform an arbitrary assembly of static program parts with hard references between them into a system of reusable components. The transformation maintains the structure of the original system. We demonstrate this approach in two case studies, a subject/observer framework and a compiler front-end.
Demand-driven points-to analysis for Java
Authors: Sridharan Manu , Gopan Denis , Shan Lexin , Bodík Rastislav
Published: February 2006

We present a points-to analysis technique suitable for environments with small time and memory budgets, such as just-in-time (JIT) compilers and interactive development environments (IDEs). Our technique is demand-driven, performing only the work necessary to answer each query (a request for a variable's points-to information) issued by a client. In cases where even the demand-driven approach exceeds the time budget for a query, we employ
early termination
,
i.e.
, stopping the analysis prematurely and returning an over-approximated result to the client. Our technique improves on previous demand-driven points-to analysis algorithms [17, 33] by achieving much higher precision under small time budgets and early termination.We formulate Andersen's analysis [5] for Java as a CFL-reachability problem [33]. This formulation shows that Andersen's analysis for Java is a
balanced-parentheses problem
, an insight that enables our new techniques. We exploit the balanced parentheses structure to approximate Andersen's analysis by
regularizing
the CFL-reachability problem, yielding an asymptotically cheaper algorithm. We also show how to regain most of the precision lost in the regular approximation as needed through
refinement
. Our evaluation shows that our regularization and refinement approach achieves nearly the precision of field-sensitive Andersen's analysis in time budgets as small as 2ms per query. Our technique can yield speedups of up to 16x over computing an exhaustive Andersen's analysis for some clients, with little to no precision loss.
Deriving object typestates in the presence of inter-object references
Authors: Nanda Mangala Gowri , Grothoff Christian , Chandra Satish
Published: February 2006

We are interested in static analysis of Java classes with the goal of discovering the preconditions under which a certain program point within a method may be reached, taking into account the effects of previous method calls on an object of that class. The information pertinent to this computation is represented as the object's typestate, which is a finite set of relevant predicates that abstract the object's actual state. The execution of a method depends on an object's current typestate as well as other input parameters; the object may transition to a different typestate during the method's execution.It is common for objects to contain references to other ob-jects. In such cases, an object's behavior may depend on, in addition to its own state, the state of objects it has a refer-ence to. The main contribution of this paper is to discover relevant object typestates, as well as transitions between typestates, in the presence of inter-object references. Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input. It then uses abstract interpretation to compute the typestate transitions caused by method calls. A novel aspect of this work is that a set of Java classes is analyzed in isolation, without any client program being pro-vided. To do this, the analysis simulates all possible client's actions via a synthetic heap, all of whose interesting config-urations are explored by our analysis.The information we compute can be put to use in several ways. It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception. It can also be used in creating test drivers for Java classes in order to exercise all relevant code paths in the corresponding methods.
ArchMatE
Authors: Díaz-Pace J. Andrés , Campo Marcelo R.
Published: February 2006

Given the difficulties of conventional object technologies to deal with quality-attribute concerns, software architectures appear as an interesting approach to manage them better. A problem to make this approach feasible is the gap between architectural and object models. Succeeding in bridging these two worlds implies that those design decisions about quality attributes made at the architectural level should be reflected at the object level. Nonetheless, a given architecture usually admits multiple, different materializations. Furthermore, any materialization requires considerable design background and experience from the developer. In this paper, we describe a tool approach, called
ArchMatE
, to assist developers in the exploration of object-oriented solutions for grounding specific architectural models. An important aspect of the approach is that the materializations are accomplished by means of quality-oriented strategies, so that those concerns prescribed by the original architecture are mostly preserved.
Using dependency models to manage complex software architecture
Authors: Sangal Neeraj , Jordan Ev , Sinha Vineet , Jackson Daniel
Published: February 2006

An approach to managing the architecture of large software systems is presented. Dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM). A variety of algorithms are available to help organize the matrix in a form that reflects the architecture and highlights patterns and problematic dependencies. A hierarchical structure obtained in part by such algorithms, and in part by input from the user, then becomes the basis for 'design rules' that capture the architect's intent about which dependencies are acceptable. The design rules are applied repeatedly as the system evolves, to identify violations, and keep the code and its architecture in conformance with one another. The analysis has been implemented in a tool called LDM which has been applied in several commercial projects; in this paper, a case study application to Haystack, an information retrieval system, is described.
Classbox/J
Authors: Bergel Alexandre , Ducasse Stéphane , Nierstrasz Oscar
Published: February 2006

Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution.
Classboxes
are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.
Fine-grained interoperability through mirrors and contracts
Authors: Gray Kathryn E. , Findler Robert Bruce , Flatt Matthew
Published: February 2006

As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions can be immediate; for higher order data, such as functions and objects, some must be delayed until the value is used in a particular way. Typically, these coercions and checks are implemented by an ad-hoc mixture of wrappers, reflection, and dynamic predicates. We observe that 1) the wrapper and reflection operations fit the profile of mirrors, 2) the checks correspond to contracts, and 3) the timing and shape of mirror operations coincide with the timing and shape of contract operations. Based on these insights, we present a new model of interoperability that builds on the ideas of mirrors and contracts, and we describe an interoperable implementation of Java and Scheme that is guided by the model.
Adding trace matching with free variables to AspectJ
Authors: Allan Chris , Avgustinov Pavel , Christensen Aske Simon , Hendren Laurie , Kuzins Sascha , Lhoták Ondřej , de Moor Oege , Sereni Damien , Sittampalam Ganesh , Tibble Julian
Published: February 2006

An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the
current
action: it is not possible to directly observe the
history
of a computation.Recently, there have been several interesting proposals for new history-based language features, most notably by Douence
et al.
and by Walker and Viggers. In this paper, we present a new history-based language feature called
tracematches
that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace. We have fully designed and implemented tracematches as a seamless extension of AspectJ.A key innovation in our tracematch approach is the introduction of free variables in the matching patterns. This enhancement enables a whole new class of applications in which events can be matched not only by the event kind, but also by the values associated with the free variables. We provide several examples of applications enabled by this feature.After introducing and motivating the idea of tracematches via examples, we present a detailed semantics of our language design, and we derive an implementation from that semantics. The implementation has been realised as an extension of the
abc
compiler for AspectJ.
Relational queries over program traces
Authors: Goldsmith Simon F. , O'Callahan Robert , Aiken Alex
Published: February 2006

Instrumenting programs with code to monitor runtime behavior is a common technique for profiling and debugging. In practice, instrumentation is either inserted manually by programmers, or automatically by specialized tools that monitor particular properties. We propose Program Trace Query Language (PTQL), a language based on relational queries over program traces, in which programmers can write expressive, declarative queries about program behavior. We also describe our compiler,
Partiqle
. Given a PTQL query and a Java program,
Partiqle
instruments the program to execute the query on-line. We apply several PTQL queries to a set of benchmark programs, including the Apache Tomcat Web server. Our queries reveal significant performance bugs in the
jack
SpecJVM98 benchmark, in Tomcat, and in the IBM Java class library, as well as some correct though uncomfortably subtle code in the Xerces XML parser. We present performance measurements demonstrating that our prototype system has usable performance.
Subtext
Authors: Edwards Jonathan
Published: February 2006

Representing programs as text strings makes programming harder then it has to be. The source text of a program is far removed from its behavior. Bridging this conceptual gulf is what makes programming so inhumanly difficult -- we are not compilers.
Subtext
is a new medium in which the representation of a program is the same thing as its execution. Like a spreadsheet, a program is visible and alive, constantly executing even as it is edited. Program edits are coherent semantic transformations.The essence of this new medium is copying. Programs are constructed by copying and executed by
copy flow
: the projection of changes through copies. The simple idea of copying develops into a rich theory of
higher-order continual copying of trees
. Notably absent are symbolic names, the workhorse of textual notation, replaced by immediately-bound explicit relationships. Subtext unifies traditionally distinct programming tools and concepts, and enables some novel ones.
Ancestral structures
are a new primitive data type that combines the features of lists and records, along with unproblematic multiple inheritance.
Adaptive conditionals
use first-class program edits to dynamically adapt behavior.A prototype implementation shows promise, but calls for much further research. Subtext suggests that we can make programming radically easier, if we are willing to be radical.
WebOS
Authors: Weiss Aaron
Published: February 2006

Some call it the second coming of the dot-coms. The blogosphere is buzzing, and new buzzwords are minted daily in the press: "Web 2.0," "Weblications," and "WebOS"---the Web-based Operating System. Email, the Internet's first killer app, has now largely migrated from the desktop to the Web. Instant messaging, word processing, and even spreadsheets aren't far behind. Something is happening here, as Bob Dylan once sang, but do we know what it is?
WiMAX to the world?
Authors: Robinson Teri
Published: February 2006

Widespread, wireless broadband heralds a new era of unlimited accessibility