bluuebunny/crossref_metadata_2025 huggingface dataset:
Colorization using optimization
Authors: Levin Anat , Lischinski Dani , Weiss Yair
Published: October 2004

Colorization is a computer-assisted process of adding color to a monochrome image or movie. The process typically involves segmenting images into regions and tracking these regions across image sequences. Neither of these tasks can be performed reliably in practice; consequently, colorization requires considerable user intervention and remains a tedious, time-consuming, and expensive task.In this paper we present a simple colorization method that requires neither precise image segmentation, nor accurate region tracking. Our method is based on a simple premise; neighboring pixels in space-time that have similar intensities should have similar colors. We formalize this premise using a quadratic cost function and obtain an optimization problem that can be solved efficiently using standard techniques. In our approach an artist only needs to annotate the image with a few color scribbles, and the indicated colors are automatically propagated in both space and time to produce a fully colorized image or sequence. We demonstrate that high quality colorizations of stills and movie clips may be obtained from a relatively modest amount of user input.
GADGET
Authors: Fogarty James , Hudson Scott E.
Published: October 2004

Recent work is beginning to reveal the potential of numerical optimization as an approach to generating interfaces and displays. Optimization-based approaches can often allow a mix of independent goals and constraints to be blended in ways that are difficult to describe algorithmically. While optimization-based techniques appear to offer several potential advantages, further research in this area is hampered by the lack of appropriate tools. Optimization toolkits do exist, but they typically require substantial specialized knowledge because they have been designed for traditional optimization problems.GADGET is an experimental toolkit to support optimization as an approach to interface and display generation. GADGET provides three core abstractions, initializers, iterations, and evaluations. An initializer creates an initial solution to be optimized, based on an existing algorithm or randomly. Iterations are responsible for transforming one potential solution into another, typically using methods that are at least partially random. Finally, evaluations are used for judging the different notions of goodness in a solution. Together with a evaluation standardization framework, support for generic properties integrated with an efficient lazy evaluation framework, and a library of reusable iterations and evaluations, the abstractions provided by GADGET simplify the development of optimization-based approaches to interface and display generation.
High dynamic range display systems
Authors: Seetzen Helge , Heidrich Wolfgang , Stuerzlinger Wolfgang , Ward Greg , Whitehead Lorne , Trentacoste Matthew , Ghosh Abhijeet , Vorozcovs Andrejs
Published: October 2004

The dynamic range of many real-world environments exceeds the capabilities of current display technology by several orders of magnitude. In this paper we discuss the design of two different display systems that are capable of displaying images with a dynamic range much more similar to that encountered in the real world. The first display system is based on a combination of an LCD panel and a DLP projector, and can be built from off-the-shelf components. While this design is feasible in a lab setting, the second display system, which relies on a custom-built LED panel instead of the projector, is more suitable for usual office workspaces and commercial applications. We describe the design of both systems as well as the software issues that arise. We also discuss the advantages and disadvantages of the two designs and potential applications for both systems.
Geometry clipmaps
Authors: Losasso Frank , Hoppe Hugues
Published: October 2004

Rendering throughput has reached a level that enables a novel approach to level-of-detail (LOD) control in terrain rendering. We introduce the geometry clipmap, which caches the terrain in a set of nested regular grids centered about the viewer. The grids are stored as vertex buffers in fast video memory, and are incrementally refilled as the viewpoint moves. This simple framework provides visual continuity, uniform frame rate, complexity throttling, and graceful degradation. Moreover it allows two new exciting real-time functionalities: decompression and synthesis. Our main dataset is a 40GB height map of the United States. A compressed image pyramid reduces the size by a remarkable factor of 100, so that it fits entirely in memory. This compressed data also contributes normal maps for shading. As the viewer approaches the surface, we synthesize grid levels finer than the stored terrain using fractal noise displacement. Decompression, synthesis, and normal-map computations are incremental, thereby allowing interactive flight at 60 frames/sec.
Shader algebra
Authors: McCool Michael , Du Toit Stefanus , Popa Tiberiu , Chan Bryan , Moule Kevin
Published: October 2004

An algebra consists of a set of objects and a set of operators that act on those objects. We treat shader programs as first-class objects and define two operators: connection and combination. Connection is functional composition: the outputs of one shader are fed into the inputs of another. Combination concatenates the input channels, output channels, and computations of two shaders. Similar operators can be used to manipulate streams and apply computational kernels expressed as shaders to streams. Connecting a shader program to a stream applies that program to all elements of the stream; combining streams concatenates the record definitions of those streams.In conjunction with an optimizing compiler, these operators can manipulate shader programs in many useful ways, including specialization, without modifying the original source code. We demonstrate these operators in Sh, a metaprogramming shading language embedded in C++.
DISCO
Authors: Goesele Michael , Lensch Hendrik P. A. , Lang Jochen , Fuchs Christian , Seidel Hans-Peter
Published: October 2004

Translucent objects are characterized by diffuse light scattering beneath the object's surface. Light enters and leaves an object at possibly distinct surface locations. This paper presents the first method to acquire this transport behavior for arbitrary inhomogeneous objects. Individual surface points are illuminated in our DISCO measurement facility and the object's impulse response is recorded with a high-dynamic range video camera. The acquired data is resampled into a hierarchical model of the object's light scattering properties. Missing values are consistently interpolated resulting in measurement-based, complete and accurate representations of real translucent objects which can be rendered with various algorithms.
PolyCube-Maps
Authors: Tarini Marco , Hormann Kai , Cignoni Paolo , Montani Claudio
Published: October 2004

Standard texture mapping of real-world meshes suffers from the presence of seams that need to be introduced in order to avoid excessive distortions and to make the topology of the mesh compatible to the one of the texture domain. In contrast, cube maps provide a mechanism that could be used for seamless texture mapping with low distortion, but only if the object roughly resembles a cube. We extend this concept to arbitrary meshes by using as texture domain the surface of a
polycube
whose shape is similar to that of the given mesh. Our approach leads to a seamless texture mapping method that is simple enough to be implemented in currently available graphics hardware.
Context-based surface completion
Authors: Sharf Andrei , Alexa Marc , Cohen-Or Daniel
Published: October 2004

Sampling complex, real-world geometry with range scanning devices almost always yields imperfect surface samplings. These "holes" in the surface are commonly filled with a smooth patch that conforms with the boundary. We introduce a context-based method: the characteristics of the given surface are analyzed, and the hole is iteratively filled by copying patches from valid regions of the given surface. In particular, the method needs to determine best matching patches, and then, fit imported patches by aligning them with the surrounding surface. The completion process works top down, where details refine intermediate coarser approximations. To align an imported patch with the existing surface, we apply a rigid transformation followed by an iterative closest point procedure with non-rigid transformations. The surface is essentially treated as a point set, and local implicit approximations aid in measuring the similarity between two point set patches. We demonstrate the method at several point-sampled surfaces, where the holes either result from imperfect sampling during range scanning or manual removal.
Variational shape approximation
Authors: Cohen-Steiner David , Alliez Pierre , Desbrun Mathieu
Published: October 2004

A method for concise, faithful approximation of complex 3D datasets is key to reducing the computational cost of graphics applications. Despite numerous applications ranging from geometry compression to reverse engineering, efficiently capturing the geometry of a surface remains a tedious task. In this paper, we present both theoretical and practical contributions that result in a novel and versatile framework for geometric approximation of surfaces. We depart from the usual strategy by casting shape approximation as a variational geometric partitioning problem. Using the concept of geometric proxies, we drive the distortion error down through repeated clustering of faces into best-fitting regions. Our approach is entirely discrete and error-driven, and does not require parameterization or local estimations of differential quantities. We also introduce a new metric based on normal deviation, and demonstrate its superior behavior at capturing anisotropy.
Empowering persons with disabilities with decision-support technology
Authors: Hine Michael J. , Hill Mark , Ruth David , Carlson Bob , Banks Dave , Troxell Jim
Published: October 2004

A new software system allows users with disabilities, and their potential employers, to make informed choices about job opportunities and the impact those decisions may have on current and future benefits.
Preserving research data
Authors: Jacobs James A. , Humphrey Charles
Published: October 2004

Granting ownership rights to data, as if it were private property, only limits data access without ensuring the benefits of researcher precedence or the rewards for good data collection.
End-user software engineering
Authors: Burnett Margaret , Cook Curtis , Rothermel Gregg
Published: October 2004

End-user programming has become the most common form of programming in use today [2], but there has been little investigation into the dependability of the programs end users create. This is problematic because the dependability of these programs can be very important; in some cases, errors in end-user programs, such as formula errors in spreadsheets, have cost millions of dollars. (For example, see www.theregister.co.uk/content/67/31298.html or panko.cba.hawaii.edu/ssr/Mypapers/whatknow.htm.) We have been investigating ways to address this problem by developing a software engineering paradigm viable for end-user programming, an approach we call
end-user software engineering
.
Component-based technologies for end-user development
Authors: Mørch Anders I. , Stevens Gunnar , Won Markus , Klann Markus , Dittrich Yvonne , Wulf Volker
Published: October 2004

Component-based software development (CBSD) involves multiple roles. Framework builders create the infrastructure for components to interact; developers identify suitable domains and develop new components for them; application assemblers select domain-specific components and assemble them into applications; and end users employ component-based applications to perform daily tasks [7].
Natural development of ubiquitous interfaces
Authors: Berti Silvia , Paternò Fabio , Santoro Carmen
Published: October 2004

A goal of natural development is to ease the building of interactive software systems. Some work has been dedicated to obtaining natural programming [3], which aims to support programming through languages understandable by people without any specific programming skills. On one hand, natural development implies that people should be able to work through familiar and instantly understandable representations that allow them to easily express relevant concepts, and thereby create or modify applications. On the other hand, since a software artifact must be precisely specified in order to be implemented, there will still be the need for environments supporting transformations from intuitive and familiar representations into precise---but more difficult to develop---descriptions.
End-user developers at home
Authors: Blackwell Alan F.
Published: October 2004

There have been many "homes of the future" demonstrations, in which intelligent appliances communicate with each other for the convenience of the homeowner. Manufacturers, wealthy celebrities, gadget lovers, and researchers think they are great. But now that transport-layer technology for highly networked homes is commercially feasible (whether WiFi or simply cheap cabling), it's time to ask why typical households need it.
The big picture
Authors: Neumann Peter G.
Published: October 2004

In this column we provide a high-level overview of some of the most pressing problem areas associated with risks to the constructive use of information technology. Although this may seem repetitive to those of you who have seen particular problems discussed in previous columns, each of these topics presents numerous challenges that must be urgently confronted. The primary message of this column is that the totality of all the interrelated challenges requires concerted efforts that transcend the individual problems and that reach agreement on viable actions for the future, even where strong disagreements exist today.
Strong functional dependencies and their application to normal forms in XML
Authors: Vincent Millist W. , Liu Jixue , Liu Chengfei
Published: October 2004

In this article, we address the problem of how to extend the definition of functional dependencies (FDs) in incomplete relations to XML documents (called XFDs) using the well-known strong satisfaction approach.We propose a syntactic definition of strong XFD satisfaction in an XML document and then justify it by showing that, similar to the case in relational databases, for the case of simple paths, keys in XML are a special case of XFDs. We also propose a normal form for XML documents based on our definition of XFDs and provide a formal justification for it by proving that it is a necessary and sufficient condition for the elimination of redundancy in an XML document.
Managing uncertainty in moving objects databases
Authors: Trajcevski Goce , Wolfson Ouri , Hinrichs Klaus , Chamberlain Sam
Published: October 2004

This article addresses the problem of managing Moving Objects Databases (MODs) which capture the inherent imprecision of the information about the moving object's location at a given time. We deal systematically with the issues of constructing and representing the
trajectories
of moving objects and querying the MOD. We propose to model an uncertain trajectory as a three-dimensional (3D) cylindrical body and we introduce a set of novel but natural spatio-temporal
operators
which capture the
uncertainty
and are used to express spatio-temporal range queries. We devise and analyze algorithms for processing the operators and demonstrate that the model incorporates the uncertainty in a manner which enables efficient querying, thus striking a balance between the modeling power and computational efficiency. We address some implementation aspects which we experienced in our DOMINO project, as a part of which the operators that we introduce have been implemented. We also report on some experimental observations of a practical relevance.
The buzz in the background
Authors: Schindler Esther
Published: October 2004

The ZigBee wireless networking standard heralds the dawn of a low-power, low-speed revolution
Introduction to the special issue on temporal information processing
Authors: Mani Inderjeet , Pustejovsky James , Sundheim Beth
Published: October 2004

Time is a key dimension of our information space, with many applications standing to benefit from exploiting it. This special issue is devoted to temporal information processing for natural language as well as temporal reasoning. We begin by describing some of the ways time is expressed in natural language, and the particular requirements this imposes on information processing systems. We then provide an overview of current annotation-based approaches to temporal information extraction, followed by an introduction to the relevant literature on temporal reasoning. We also provide brief synopses of the articles in this issue, situating them in a broader context. We end with administrative remarks about the creation of this special issue.
Almost tight upper bounds for vertical decompositions in four dimensions
Authors: Koltun Vladlen
Published: October 2004

We show that the complexity of the vertical decomposition of an arrangement of
n
fixed-degree algebraic surfaces or surface patches in four dimensions is
O
(
n
4+ε
), for any ε > 0. This improves the best previously known upper bound for this problem by a near-linear factor, and settles a major problem in the theory of arrangements of surfaces, open since 1989. The new bound can be extended to higher dimensions, yielding the bound
O
(
n

2
d
−4+ε

), for any ε > 0, on the complexity of vertical decompositions in dimensions
d
≥ 4. We also describe the immediate algorithmic applications of these results, which include improved algorithms for point location, range searching, ray shooting, robot motion planning, and some geometric optimization problems.
ISIS
Authors: Meng Helen , Ching P. C. , Chan Shuk Fong , Wong Yee Fong , Chan Cheong Chat
Published: October 2004

ISIS (Intelligent Speech for Information Systems) is a trilingual spoken dialog system (SDS) for the stocks domain. It handles two dialects of Chinese (Cantonese and Putonghua) as well as English---the predominant languages in our region. The system supports spoken language queries regarding stock market information and simulated personal portfolios. The conversational interface is augmented with a screen display that can capture mouse-clicks as well as textual input by typing or stylus-writing. Real-time information is retrieved directly from a dedicated Reuters satellite feed. ISIS provides a system test-bed for our work in multilingual speech recognition and generation, speaker authentication, language understanding and dialog modeling. This article reports on our new explorations within the context of ISIS, including: (i) adaptivity to knowledge scope expansion; (ii) asynchronous human-computer interaction by task delegation to software agents; (iii) multi-threaded online interaction and offline delegation dialogs with interruptions for task switching.
A semantics for advice and dynamic join points in aspect-oriented programming
Authors: Wand Mitchell , Kiczales Gregor , Dutchyn Christopher
Published: October 2004

A characteristic of aspect-oriented programming, as embodied in Aspect J, is the use of advice and point cuts to define behavior that crosscuts the structure of the rest of the code. The events during execution at which advice may execute are called
join points
. A
pointcut
is a set of join points. An advice is an action to be taken at the join points in a particular pointcut. In this model of aspect-oriented programming, join points are dynamic in that they refer to events during the flow of execution of the program.We give a denotational semantics for a minilanguage that embodies the key features of dynamic join points, pointcuts, and advice. This is the first semantics for aspect-oriented programming that handles dynamic join points and recursive procedures. It is intended as a baseline semantics against which future correctness results may be measured.
Mae---a system model and environment for managing architectural evolution
Authors: Roshandel Roshanak , Hoek André Van Der , Mikic-Rakic Marija , Medvidovic Nenad
Published: October 2004

As with any other artifact produced as part of the software life cycle, software architectures evolve and this evolution must be managed. One approach to doing so would be to apply any of a host of existing configuration management systems, which have long been used successfully at the level of source code. Unfortunately, such an approach leads to many problems that prevent effective management of architectural evolution. To overcome these problems, we have developed an alternative approach centered on the use of an integrated architectural and configuration management system model. Because the system model combines architectural and configuration management concepts in a single representation, it has the distinct benefit that all architectural changes can be precisely captured and clearly related to each other---both at the fine-grained level of individual architectural elements and at the coarse-grained level of architectural configurations. To support the use of the system model, we have developed Mae, an architectural evolution environment through which users can specify architectures in a traditional manner, manage the evolution of the architectures using a check-out/check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. We demonstrate the benefits of our approach by showing how the system model and its accompanying environment were used in the context of several representative projects.
Software engineering education (SEEd)
Authors: Henderson Peter B.
Published: October 2004

This column was due on July 10, 2004, the date of my son's wedding [1], so I am a bit behind. Summertime and I will keep this months' column short and focused.
International workshop on models and processes for the evaluation of COTS components (MPEC'04)
Authors: Dubois Eric , Franch Xavier
Published: October 2004

Commercial Off-The-Shelf Software components (hereafter COTS) play an increasingly important role in software systems development. One of the central activities in a successful COTS-based system development is COTS evaluation, which is one of the cornerstones of COTS selection, COTS implementation and cost models for COTS. Achieving a better understanding of this activity was the objective of the
"International Workshop on Models and Processes for the Evaluation of COTS Components (MPEC'04)"
(May 25
th
, 2004, Edinburgh, Scotland, UK) collocated with the

"26
th
International Conference on Software Engineering (ICSE)".

This paper reports on the structure of the workshop, presenting short summaries of the talks given and the research issues identified and heavily discussed during the workshop. The set of all these issues can be considered as a proposal for a new agenda to the COTS research community. More details are available at the workshop website: http://www.lsi.upc.es/events/mpec.
Report on ProSim'04
Authors: Pfahl Dietmar , Raffo David , Rus Ioana , Wernick Paul
Published: October 2004

This paper reports on the 5th International Workshop on Software Process Simulation and Modeling (ProSim 2004), held in Edinburgh, Scotland, from the 24th to 25th May 2004, co-hosted with the 26th International Conference on Software Engineering (ICSE 2004). Since 1998, ProSim has been a successful international workshop that show-cases the leading research in the software process simulation and modeling domain and attracts many of the leading researchers and industrial practitioners in these areas. In 2004, ProSim attracted more than 30 participants from America, Asia, Australia/New Zealand and Europe. According to the feedback received from participants, the goals of this workshop were fully achieved. The planning of ProSim 2005 has yet been started.
Software engineering for automotive systems at ICSE 2004 workshop summary
Authors: Pretschner Alexander , Salzmann Christian , Stauner Thomas
Published: October 2004

This paper provides a summary of the ICSE 2004 workshop on software engineering for automotive systems. We outline the main characteristics of automotive software engineering and indicate how the workshop papers relate to these characteristics. Furthermore, we summarize the discussion at the workshop.
Technical and human perspectives on pair programming
Authors: Aiken Jason
Published: October 2004

Extreme Programming is presented as an answer to problems in software engineering. Extreme Programming is briefly introduced and one of its primary principles, pair programming, is examined more closely. Drawing from readings and Medtronic employee interviews, potential challenges to pair programming are discussed and analyzed. Finally, recommendations for those considering pair programming are suggested.
Dynamics of software maintenance
Authors: Bhatt Pankaj , Shroff Gautam , Misra Arun K.
Published: October 2004

As the information technology industry gains maturity, the number of software systems having moved into maintenance is rapidly growing. Often these systems are also potential candidates for outsourcing. However, adequate information regarding size, complexity, reliability, maintainability etc. of these systems is often missing. This makes the task of estimating maintenance efforts for any such system difficult for the organization owning the systems as well as for a software services vendor bidding to outsource maintenance of the system. This is further compounded by human and management factors related to maintenance activities such as management focus, client attitude, engineers' attitude, the need for multi-location support teams etc. These factors make the problem of objectively estimating software maintenance effort almost intractable.We submit that software maintenance is of equal if not more fundamental importance to the software industry, and has not received the attention it deserves, especially in the context of estimation models.This paper describes a holistic approach towards a study of the factors affecting the effort involved in maintenance of existing software systems. It describes how one could build a systems dynamics model to predict the effort involved to maintain a software system, based on qualitative and qualitative inputs.
π-ARL
Authors: Oquendo Flavio
Published: October 2004

A key aspect of the formal development of any software system is the specification and stepwise refinement of its architecture. In a stepwise refinement, a sequence of steps starting from an abstract specification of the architecture leads to a concrete, implementation-centered, architectural model. Each refinement step typically leads to a more detailed architecture description that increases the determinism while implying properties of the abstract specification. Enabling stepwise architecture refinement is a new challenge for the formal development of complex software systems. This article describes π-ARL, a novel Architecture Refinement Language (ARL) that has been designed in the ArchWare European Project to address formal refinement of software architectures. It is a formal, well-founded theoretically language based on a rewriting logic. Its underlying approach for architecture refinement is underspecification, i.e. at a high-level of abstraction, when specifying an architectural element, certain aspects can be left open. The decrease of this underspecification establishes behaviour but also port, structure, and data refinement relations. The underlying foundation for architected behaviours is the higher order typed π-calculus. π-ARL focuses on formally modelling the stepwise refinement of software architectures through a set of architecture refinement primitives.
Formally refining software architectures with π-ARL
Authors: Oquendo Flavio
Published: October 2004

π-ARL is a formal (executable) architecture refinement language providing architecture-centric refinement primitives and constructs for their compositions. When applied, refinement actions expressed in π-ARL refine architectural models described in π-ADL outputting new refined models described in π-ADL. Enabling stepwise architecture refinement is a new challenge for the formal development of complex software systems. This article presents a simple but realistic case study of the use of π-ARL for architecture refinement. It illustrates the expressiveness and usefulness of π-ARL. The case study addresses the modelling and refinement of the software architecture of a Data Acquisition System. It covers a simple, yet frequent, architecture refinement that would be problematic for most other refinement techniques. Several refinement steps are performed, each dealing with a simple refinement, in order to achieve a concrete architecture.
A basic model for components implementation of software architecture
Authors: Xu Guoqing , Yang Zongyuan , Huang Haitao
Published: October 2004

Components defined in software architecture have two features: as basic elements of the architecture, they must conform to the architectural constraints and in the meantime, similar to the common components, they should be designed flexibly enough to be able to be developed independently for the late third party integration. However, these two important issues have always been handled separately from different point of views, which leads to the extra work, confusions in the program structures as well as the difficulty in maintenance. This paper presents a basic model of the architecture-based components implementation to band these two issues together. It firstly describes a novel design pattern, triple-C pattern which stands for Components-Communicate-through-Connector. This pattern not only emphasizes that implementation must completely conform to the architectural definition, but also attempts to change the fundamental way of components communication with suggesting provided service should be transferred through the connector instead of directly between the client and server components. Second, it describes a novel ADL JCMPL, toolset JCMP and techniques to keep architectural conformance in the implementation as well as support the architectural integration from separate components. Finally, this model is evaluated in a case study.
A comparison of metrics for UML class diagrams
Authors: Yi Tong , Wu Fangjun , Gan Chengzhi
Published: October 2004

Currently, more and more research results on measuring class diagrams have been developed in literatures. In order to study these metrics systematically and deeply, this paper analyzes and compares some typical metrics for UML class diagrams from different viewpoints, different types of relationships, different types of metric values, complexity, and theoretical and empirical validation. Finally, the authors discuss their advantages and disadvantages as well as the existing problems and the prospects.
Empirical analysis of entropy distance metric for UML class diagrams
Authors: Yi Tong , Wu Fangjun
Published: October 2004

Many software systems built in recent years have been developed using the UML and, in some cases, they already need adaptive maintenance in order to satisfy market and customer needs. Thus a strong emphasis on analysis metrics for software development is necessary. Analysis metrics play an important role in helping developers understand software and, hence, improve software quality and developer productivity. In this paper, we provide empirical evidence for supporting the role of the structure complexity metrics for UML class diagrams, specifically
Zhou
's metric. Our results, based on data related with bank information system, indicate that the metric is basically consistent with human beings' intuitions.
Testing web database applications
Authors: Deng Yuetang , Frankl Phyllis , Wang Jiong
Published: October 2004

Commercial, scientific, and social activities are increasingly becoming dependent on Web database applications. New testing techniques that handle the unique features of these systems are needed. To that end, we have extended AGENDA, a tool set for testing relational database applications, to test web database applications. Application source code is analyzed to extract relevant information about the URLs and their parameters. This information is used to construct and simplify a graph in which nodes represent URLs and edges represent links between URLs. A set of paths through the graph is selected and test cases are generated for each path. The extracted information about the parameters to each URL (e.g., values that an application user would enter into a form), is used to guide AGENDA to generate inputs for the URLs. The URLs on a path and their inputs are stored in an XML file, which is then automatically executed. The current implementation is targeted toward web applications written as Java Servlets and uses an algorithm based on cyclomatic complexity to generate paths. Preliminary empirically evaluation based on the TPC-W benchmark is presented.
Generating test cases for web services using data perturbation
Authors: Offutt Jeff , Xu Wuzhi
Published: October 2004

Web services have the potential to dramatically reduce the complexities and costs of software integration projects. The most obvious and perhaps most significant difference between Web services and traditional applications is that Web services use a common communication infrastructure, XML and SOAP, to communicate through the Internet. The method of communication introduces complexities to the problems of verifying and validating Web services that do not exist in traditional software. This paper presents a new approach to testing Web services based on
data perturbation.
Existing XML messages are modified based on rules defined on the message grammars, and then used as tests. Data perturbation uses two methods to test Web services: data value perturbation and interaction perturbation. Data value perturbation modifies values according to the data type. Interaction perturbation classifies the communication messages into two categories: RPC communication and data communication. At present, this method is restricted to peer-to-peer interactions. The paper presents preliminary empirical evidence of its usefulness.
Static analysis of role-based access control in J2EE applications
Authors: Naumovich Gleb , Centonze Paolina
Published: October 2004

This work describes a new technique for analysis of Java 2, Enterprise Edition (J2EE) applications. In such applications, Enterprise Java Beans (EJBs) are commonly used to encapsulate the core computations performed on Web servers. Access to EJBs is protected by application servers, according to role-based access control policies that may be created either at development or deployment time. These policies may prohibit some types of users from accessing specific EJB methods.We present a static technique for analyzing J2EE access control policies with respect to security-sensitive fields of EJBs and other server-side objects. Our technique uses points-to analysis to determine which object fields are accessed by which EJB methods, directly or indirectly. Based on this information, J2EE access control policies are analyzed to identify potential inconsistencies that may lead to security holes.
Experiments with high volume test automation
Authors: McGee Pat , Kaner Cem
Published: October 2004

We are working with a broad class of testing techniques we collectively call High Volume Test Automation (HVTA). The essence of HVTA techniques is automated execution and evaluation of large numbers of tests, for the purpose of exposing functional errors that are otherwise hard to find. These techniques are not widely used in industry, but we believe they have the potential to help us substantially increase the reliability of software.We propose to find existing industry HVTA projects, write informal case studies of them, create our own tools to implement the technique, and apply our tool in a case study of one or more open source projects.
Continuous evolutionary one-step-ahead testing
Authors: Gittens Mechelle , Lutfiyya Hanan , Bauer Mike
Published: October 2004

The traditional software development life cycle considers testing to be an activity that occurs between the implementation phase of development and software release [4]. With this approach any testing subsequent to release is done in reaction to failures reported by software users. The realities of software in operation however causes questions about this approach to arise. Adams [1] showed that organizations developing significant software applications often provide several fixes after their software has been released as the result of errors found in the field. This work also showed that the most serious and frequently recurring errors are usually found by users soon after a product has been released. These are referred to by Adams [1] as
virulent
errors. The negative effects of remaining defects implies that post-release activities should be proactive. These post-release activities must include continued testing by the vendor to find errors even after release. This paper proposes a solution to this requirement.
Latency lags bandwith
Authors: Patterson David A.
Published: October 2004

As I review performance trends, I am struck by a consistent theme across many technologies: bandwidth improves much more quickly than latency. Here, I list a half-dozen performance milestones to document this observation, many reasons why it happens, a few ways to cope with it, a rule of thumb to quantify it, plus an example of how to design systems differently based on this observation.
Cyber warfare
Authors: Wang Huaiqing , Wang Shuozhong
Published: October 2004

For every clever method and tool being developed to hide information in multimedia data, an equal number of clever methods and tools are being developed to detect and reveal its secrets.
Open source software development should strive for even greater code maintainability
Authors: Samoladas Ioannis , Stamelos Ioannis , Angelis Lefteris , Oikonomou Apostolos
Published: October 2004

A study of almost six million lines of code tracks how freely accessible source code holds up against time and multiple iterations.
Reflections on free and open software
Authors: Cusumano Michael A.
Published: October 2004

Considering the often overlapping perspectives in the software development realm.
Voting systems standards and certifications
Authors: Deutsch Herb , Berger Stephen
Published: October 2004

Surveying the effort to create a new implementation-independent voting system standard.
Auditing elections
Authors: Jones Douglas W.
Published: October 2004

Exploiting the redundancy in election records to conduct useful audits and improve the system design process.
Source availability and e-voting
Authors: Kitcat Jason
Published: October 2004

A former proponent of requiring the availability of e-voting system source code explains why he no longer develops source-available e-voting software.
Who values technology certification?
Authors: Cegielski Casey G.
Published: October 2004

When it comes to gauging the value of IT certification for assessing the competency of job candidates, it really all depends on who's doing the hiring.
ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics
Authors: Matthey Thierry , Cickovski Trevor , Hampton Scott , Ko Alice , Ma Qun , Nyerges Matthew , Raeder Troy , Slabach Thomas , Izaguirre Jesús A.
Published: October 2004

ProtoMol is a high-performance framework in C++ for rapid prototyping of novel algorithms for molecular dynamics and related applications. Its flexibility is achieved primarily through the use of inheritance and design patterns (object-oriented programming). Performance is obtained by using templates that enable generation of efficient code for sections critical to performance (generic programming). The framework encapsulates important optimizations that can be used by developers, such as parallelism in the force computation. Its design is based on domain analysis of numerical integrators for molecular dynamics (MD) and of fast solvers for the force computation, particularly due to electrostatic interactions. Several new and efficient algorithms are implemented in ProtoMol. Finally, it is shown that ProtoMol's sequential performance is excellent when compared to a leading MD program, and that it scales well for moderate number of processors. Binaries and source codes for Windows, Linux, Solaris, IRIX, HP-UX, and AIX platforms are available under open source license at http://protomol.sourceforge.net.
Jacobian code generated by source transformation and vertex elimination can be as efficient as hand-coding
Authors: Forth Shaun A. , Tadjouddine Mohamed , Pryce John D. , Reid John K.
Published: October 2004

This article presents the first extended set of results from EliAD, a source-transformation implementation of the vertex-elimination Automatic Differentiation approach to calculating the Jacobians of functions defined by Fortran code (Griewank and Reese, Automatic Differentiation of Algorithms: Theory, Implementation, and Application, 1991, pp. 126--135). We introduce the necessary theory in terms of well known algorithms of numerical linear algebra applied to the linear, extended Jacobian system that prescribes the relationship between the derivatives of all variables in the function code. Using an example, we highlight the potential for numerical instability in vertex-elimination. We describe the source transformation implementation of our tool EliAD and present results from five test cases, four of which are taken from the MINPACK-2 collection (Averick et al, Report ANL/MCS-TM-150, 1992) and for which hand-coded Jacobian codes are available. On five computer/compiler platforms, we show that the Jacobian code obtained by EliAD is as efficient as hand-coded Jacobian code. It is also between 2 to 20 times more efficient than that produced by current, state of the art, Automatic Differentiation tools even when such tools make use of sophisticated techniques such as sparse Jacobian compression. We demonstrate the effectiveness of reverse-ordered pre-elimination from the (successively updated) extended Jacobian system of all intermediate variables used once. Thereafter, the monotonic forward/reverse ordered eliminations of all other intermediates is shown to be very efficient. On only one test case were orderings determined by the Markowitz or related VLR heuristics found superior. A re-ordering of the statements of the Jacobian code, with the aim of reducing reads and writes of data from cache to registers, was found to have mixed effects but could be very beneficial.
Data cache management on EPIC architecture
Authors: Brifault K. , Charles H. P.
Published: October 2004

Nowadays, multimedia applications are more and more used, and take a larger place in the workloads of modern computing systems. It appears that the classical 1D spatial locality arrangement in the cache is not adapted to the management of this data type, because its structures exhibit an intrinsic 2D locality.In this article, we study cache behavior and alternative strategies for multimedia, using a JPEG benchmark on an Itanium2™ cache system. We demonstrate, through systematic experiments, that performance can be very sensitive to data structure, revealing that cache organization has a major impact on performance. We then present the results of our experiments with suggestions to improve future media processing compiler design.
Java object look aside buffer for embedded applications
Authors: Shimizu Naohiko , Kon Chiaki
Published: October 2004

Java has been widely used in embedded systems such as mobile phones. Just-In-Time compilation technique (JIT) is used for PC applications, but many embedded systems have not much memory or processor power. Therefore, JIT method for Java is hardly used in small embedded systems such as mobile phones and PDAs.In this paper, a new optimization method without JIT: Java Object Look Aside Buffer (JOLAB) for Java Virtual Machine and/or Java processor is proposed. JOLAB keeps resolution information for speedup constant pool references of JVM bytecode. Hence, JOLAB will reduce effective object access latency, as well as TLB for virtual addressing.We also present some performance number with benchmarks.
A leakage-energy-reduction technique for highly-associative caches in embedded systems
Authors: Sakanaka Akihito , Fujii Seiichirou , Sato Toshinori
Published: October 2004

Power consumption is becoming one of the most important constraints for microprocessor design in nanometer scale technologies. Especially, as the transistor supply voltage and threshold voltage are scaled down, leakage energy consumption is increased even when the transistor is not switching. This paper proposes a simple technique to reduce the static energy. The key idea of our approach is to allow the ways within a cache to be accessed at different speeds and to place infrequently accessed data into the slow ways. We use dual-V
t
technique to realize the non-uniform set-associative cache, and propose a simple replacement policy to reduce average access latency. Experimental results on 32-way set-associative caches demonstrate that any severe increase in clock cycles to execute application programs is not observed and significant static energy reduction can be achieved, resulting in the improvement of energy-delay product.
A scalable, clustered SMT processor for digital signal processing
Authors: Berekovic Mladen , Moch Sören , Pirsch Peter
Published: October 2004

A scalable, distributed, processor architecture is presented that emphasizes on high performance computing for digital signal processing applications by combining high frequency design techniques with a very high degree of parallel processing on a chip. The architecture is based on a superscalar processor model with a modified Tomasulo scheme [1], that was extended to eliminate all central control structures for the data flow and to support simultaneous instruction issue from multiple independent threads (SMT). Consequent application of fine clustering reduces the cycle-time for wire-sensitive building blocks of the processor like the register file or the instruction scheduler and leads to a distributed architecture model, where independent thread processing units, ALUs, registers files and memories are distributed across the chip and communicate with each other by special networks. The performance of the architecture is scalable with both the number of function units and the number of thread units without having any impact on the processors cycle-time.
A proposal for input-sensitivity analysis of profile-driven optimizations on embedded applications
Authors: Bartolini S. , Prete C. A.
Published: October 2004

The ever-increasing gap between processor and memory speed is an issue also in embedded systems, because of the increased complexity of multimedia elaborations and the strict resource constraints of these devices.Profile-driven code optimization techniques can be effectively employed for tuning application-cache interaction and performances of cache system itself. In fact, applications running on such systems are usually known in advance and do not change over time. In a previous paper, we presented a profile-based code restructuring technique (CAT) that was able to dramatically increase cache exploitation of embedded applications.However, it is well known that profile-driven optimizations can suffer from input-sensitivity problems: an application that is optimized for a particular input can perform even worse than the original one, when subjected other inputs.In this paper we take into account jpeg and mpeg compressor/decompressor applications and analyze the input-sensitivity of CAT improved layouts over a wide range of inputs. The input sets were accurately determined through both black-box and white-box analysis of applications.We propose two metrics for measuring the input-sensitivity of application layouts, and show how our profile-driven code transformation technique is able to reduce the input-sensitivity of the considered applications up to 48% on caches ranging from 1 KByte to 8KByte.