35763376
Setting a Framework for Trusted Component Trading
Software engineers constructing systems from third-party components need to be able to assess the quality of those components in order to have any confidence in the final system. We argue that the most effective and economic way to do this is for developers to supply test specifications along with the components that they offer to the market. We describe a simple, portable test specification based on XML documents. When a test specification is packaged with a purchased component, system builders are efficiently able to not only verify a component developer’s claim for quality but also use the test specification to elucidate fine details of a component’s capabilities that may be missing or not manifest in a natural language specification. A system builder selecting a component for integration into a new system needs to consider more than its ability to perform the required functions: the degree of testing can be an important indication of its reliability. Thus we propose an index, describing the degree of testing that a component has undergone, which can be used to rate components and aid selection decisions. Combined with a test specification, a purchaser can efficiently determine whether a component meets claims for its quality.
14803486
Using symbolic execution to guide test generation
Although a number of weaknesses of symbolic execution, when used for software testing, have been highlighted in the literature, the recent resurgence of strongly-typed languages has created opportunities for re-examining symbolic execution to determine whether these shortfalls can be overcome. This paper discusses symbolic execution in general and makes two contributions: (a) overcoming one of the key problems, analysing programs with indexed arrays; and (b) describing the incorporation of a symbolic execution module for test case generation into an integrated testing tool. For methods which index arrays, a new approach determines all the possible values of each array index, allowing the generation of equivalence classes for every possible combination of array element aliases. An incremental simplification approach, which converts path expressions to canonical forms in order to identify infeasible paths at the earliest opportunity and thus reduce the analysis time, is also described. Symbolic execution is most effective when included in an integrated test and analysis environment: a component test bench was built with a symbolic execution module integrated into it, providing a toolbox of software component test and code analysis methods aimed at programmers at all levels.
2529500
Automatic Recognition of Colloquial Australian Sign Language
This paper presents an automatic Australian sign language (Auslan) recognition system, which tracks multiple target objects (the face and hands) throughout an image sequence and extracts features for the recognition of sign phrases. Tracking is performed using correspondences of simple geometrical features between the target objects within the current and the previous frames. In signing, the face and a hand of a signer often overlap, thus the system needs to segment these for the purpose of feature extraction. Our system deals with the occlusion of the face and a hand by detecting the contour of the foreground moving object using a combination of motion cues and the snake algorithm. To represent signs, features that are invariant to scaling, 2D rotations, and signing speed are used for recognition. The features represent the relative geometrical positioning and shapes of the target objects, as well as their directions of motion. These are used to recognise Auslan phrases using Hidden Markov Models. Experiments were conducted using 163 test sign phrases with varying grammatical formations. Using a known grammar, the system achieved over 97% recognition rate on a sentence level and 99% success rate at a word level.
6951288
A Generalised Spreadsheet Verification Methodology
Although spreadsheets have been around for over thirty years, we are only just realising their importance. Most companies use spreadsheets in their decision-making processes, but rarely employ any form of testing. This paper shows how an "all-uses" test adequacy technique can be integrated into Microsoft's Excel. The modular technique adopted makes the implementation spreadsheet package independent. It also includes a user interface, to assist developers specify test cases and a technique for recording test cases and session information. In particular it presents a systematic technique for constructing test cases. As a key problem with spreadsheet development is the inexperience of developers, this paper describes an easy to use tool that will improve the standard of spreadsheets developed.
429886
Determining Component Reliability Using a Testing Index
Component-Based Software Engineering has the potential to provide reliable systems based on tested components quickly and economically, but these systems will only be as reliable as the components from which they are constructed. We propose a 6-point scale which can be used to rate the degree to which a component has been tested. This scale can be used by developers to assess the risk of using a third party component. Since a variety of test strategies are used, it is necessary to correlate testing strategies with our scale. In this paper, we examine the testing strategies specified in British Standard 7925-2 and show how they relate to the reliability levels that we propose. Since well-behaved use of resources is also a key factor in overall system reliability, we propose that an 'R' tag be added to the rated level when resource usage has been verified to be within reasonable bounds.
7164001
Software Component Certification
Although the stringent requirements of some critical applications may require independent certification, the authors see software developer self-certification as a viable alternative in many other cases. They accept that using software certification laboratories (SCLs) may work well for certain software distribution models, but they cannot be applied to all types of software development. The approach has several drawbacks. For example, an SCL may work well for larger software houses that ship mass-marketed software applications to the public, but it is less satisfactory for smaller developers who make reusable components or safety-critical software or for developers who belong to the freeware community.
15278445
The influence of persuasion, training and experience on user perceptions and acceptance of IT innovation
Information technology (IT) cannot produce any positive outcome unless it is adopted and used. Theories and empirical research suggest that IT adoption and usage are determined by user beliefs and attitudes toward IT. However, little is known about what factors affect the formation and change over time of user beliefs and attitudes. It is critical to understand such factors so that effective managerial interventions can be created and implemented to positively influence user acceptance and use of IT innovations. Based on theories of innovation diffusion, information technology adoption, and persuasion, this study investigates the effect of persuasion, training, and direct-use experience on the formation and change over time of user perceptions and adoption decisions of IT innovation. The results of a longitudinal experimental study show that persuasion significantly affects the formation of users’ initial perceptions, attitude toward, and intention to adopt IT. Training provided in the introduction stage of IT innovation helps the user form a more realistic expectation. As users’ direct-use experience with IT innovation increases over time, their perceptions and adoption intentions change substantially. The results suggest that persuasion, training, and direct-use experience are important variables that need to be considered in IT innovation and adoption research and
17140302
Immersive authoring of tangible augmented reality applications
In this paper, we suggest a new approach for authoring tangible augmented reality applications, called 'immersive authoring.' The approach allows the user to carry out the authoring tasks within the AR application being built, so that the development and testing of the application can be done concurrently throughout the development process. We describe the functionalities and the interaction design for the proposed authoring system that are specifically targeted for intuitive specification of scenes and various object behaviors. Several cases of applications developed using the authoring system are presented. A small pilot user study was conducted to compare the proposed method to a non-immersive approach, and the results have shown that the users generally found it easier and faster to carry out authoring tasks in the immersive environment.
5883252
A user-guided cognitive agent for network service selection in pervasive computing environments
Connectivity is central to pervasive computing environments. We seek to catalyze a world of rich and diverse connectivity through technologies that drastically simplify the task of providing, choosing, and using wireless network services; creating a new and more competitive environment for these capabilities. A critical requirement is that users actually benefit from this rich environment, rather than simply being overloaded with choices. We address this with an intelligent software agent that transparently and continually chooses from among available network services based on its user's individual needs and preferences, while requiring only minimal guidance and user interaction. We present an overview and model of the network service selection problem. We then describe an adaptive user agent that learns its user's network service preferences from a very minimal, intuitive set of inputs, and autonomously and continually selects the service that best meets the user's needs. Results from preliminary user experiments are presented that demonstrate the effectiveness of our agent.
37591057
Layered Multiple Displays for Immersive and Interactive Digital Contents
In this paper we introduce the concept of ‘Layered Multiple Displays (LMD)' for visualizing immersive and interactive digital contents. The LMD platform integrates various display technologies into a unified interaction space by providing natural visualization of three-dimensional virtual spaces, especially in terms of depth perception. Each display component complements one another, providing not only natural visualizations of three dimensional spaces but also personalized point of views. We describe our implementation of a prototype LMD platform with a game application, and discuss about its usability issues, and present future research directions.
44418882
A Decomposition Approach for Balancing Large-Scale Acyclic Data Flow Graphs
An efficient decomposition technique that provides a more systematic approach in solving the optimal buffer assignment problem of an acyclic data-flow graph (ADFG) with a large number of computational nodes is presented. The buffer assignment problem is formulated as an integer linear optimization problem that can be solved in pseudopolynomial time. However, if the size of an ADFG increases, then integer linear constraint equations may grow exponentially, making the optimization problem more intractable. The decomposition approach utilizes the critical path concept to decompose a directed ADFG into a set of connected subgraphs, and the integer linear optimization technique can be used to solve the buffer assignment problem in each subgraph. Thus, a large-scale integer linear optimization problem is divided into a number of smaller-scale subproblems, each of which can be easily solved in pseudopolynomial time. Examples are given to illustrate the proposed decomposition technique. >