18 research outputs found

    Technical Reports (2004 - 2009)

    Get PDF
    Authors of Technical Reports (2005-2009): Choueiry, Berthe Cohen, Myra Deogun, Jitender Dwyer, Matthew Elbaum, Sebastian Goddard, Steve Henninger, Scott Jiang, Hong Lu, Ying Ramamurthy, Byrav Rothermel, Gregg Scott, Stephen Seth, Sharad Soh, Leen-Kiat Srisa-an, Witty Swanson, David Variyam, Vinodchandran Wang, Jun Xu, Lison

    Quality traceability for user-centric context-aware systems in intelligent environments

    Get PDF
    Context-awareness is an important component of modern software systems. For example, in Ambient Assisted Living (AAL), the concept of context-awareness empowers users by reducing their dependence on others. Due to this role in healthcare, such systems need to be reliable and usable by their intended users. Our research addresses the development, testing and validation of context-aware systems in an emerging field which currently lacks sufficient systems engineering processes and disciplines. One specific issue being that developers often focus on delivering a system that works at some level, rather than engineering a system that meets a specified set of system requirements and their corresponding qualities. Our research aims to contribute towards improving the delivery of system quality by tracing, developing and linking systems development data for requirements, contexts including sensors, test cases and their results, and user validation tests and their results. We refer to this approach as the “quality traceability of context-aware systems”. In order to support the developer, the quality traceability of context-aware systems introduces a systems development approach tailored to context-aware systems in intelligent environments, an automated system testing tool and system validation process. We have implemented a case study to inform the research. The case study is in healthcare and based on an AAL system used to remotely monitor and manage, in real time, an individual prone to depressive symptoms

    Correlating context-awareness and mutation analysis for pervasive computing systems

    Get PDF
    Proceedings of the International Conference on Quality Software, 2010, p. 151-160Pervasive computing systems often use middleware as a means to communicate with the changing environment. However, the interactions with the context-aware middleware as well as the interactions among applications sharing the same middleware may introduce faults that are difficult to reveal by existing testing techniques. Our previous work proposed the notion of context diversity as a metric to measure the degree of changes in test inputs for pervasive software. In this paper, we present a case study on how much context diversity for test cases relates to fault-based mutants in pervasive software. Our empirical results show that conventional mutation operators can generate sufficient candidate mutants to support test effectiveness evaluation of pervasive software, and test cases with higher context diversity values tend to have higher mean mutation scores. On the other hand, for test cases sharing the same context diversity, their mutation scores can vary significantly in terms of standard derivations © 2010 IEEE.published_or_final_versio

    Approximation algorithm for the kinetic robust K-center problem

    Get PDF
    AbstractTwo complications frequently arise in real-world applications, motion and the contamination of data by outliers. We consider a fundamental clustering problem, the k-center problem, within the context of these two issues. We are given a finite point set S of size n and an integer k. In the standard k-center problem, the objective is to compute a set of k center points to minimize the maximum distance from any point of S to its closest center, or equivalently, the smallest radius such that S can be covered by k disks of this radius. In the discrete k-center problem the disk centers are drawn from the points of S, and in the absolute k-center problem the disk centers are unrestricted.We generalize this problem in two ways. First, we assume that points are in continuous motion, and the objective is to maintain a solution over time. Second, we assume that some given robustness parameter 0<tâ©œ1 is given, and the objective is to compute the smallest radius such that there exist k disks of this radius that cover at least ⌈tn⌉ points of S. We present a kinetic data structure (in the KDS framework) that maintains a (3+Δ)-approximation for the robust discrete k-center problem and a (4+Δ)-approximation for the robust absolute k-center problem, both under the assumption that k is a constant. We also improve on a previous 8-approximation for the non-robust discrete kinetic k-center problem, for arbitrary k, and show that our data structure achieves a (4+Δ)-approximation. All these results hold in any metric space of constant doubling dimension, which includes Euclidean space of constant dimension

    Weaving Context Sensitivity into Test Suite Construction

    Full text link

    A Framework for Automated and Composable Testing of Component-based Services

    Get PDF
    International audienceThe vision of service-oriented computing has been largely developed on the fundamental principle of building systems by composing and orchestrating services in their flow of control. Therefore, software development is nowadays notably influenced by service-oriented architectures (SOAs), in which the quality of software systems is determined by the quality of the involved services and their actual composition. Despite the efforts on improving their individual quality, adding or replacing services in an evolving system can introduce failures, thus compromising the satisfaction of the system's functional and extra-functional requirements, which is translated as a lack of trust in the SOA vision. Thus, a key issue for the industrial adoption of SOA is providing service providers, integrators, and consumers the means to build confidence that services behave according to the contracted quality conditions. In this paper we present a first version of PASCANI, a framework for specifying and executing automated, composable, and traceable test specifications for service-oriented systems. From a test specification, PASCANI generates a configuration of testing services compliant with the Service Component Architecture (SCA) specification, that can be composed to integrate different testing strategies, being their tests traceable in an automated way. Our evaluation results show the applicability of the framework and a substantial gain in the tester's effort for developing tests

    Improving the effectiveness of testing pervasive software via context diversity

    Get PDF
    Context-aware pervasive software is responsive to various contexts and their changes. A faulty implementation of the context-aware features may lead to unpredictable behavior with adverse effects. In software testing, one of the most important research issues is to determine the sufficiency of a test suite to verify the software under test. Existing adequacy criteria for testing traditional software, however, have not explored the dimension of serial test inputs and have not considered context changes when constructing test suites. In this article, we define the concept of context diversity to capture the extent of context changes in serial inputs and propose three strategies to study how context diversity may improve the effectiveness of the data-flow testing criteria. Our case study shows that the strategy that uses test cases with higher context diversity can significantly improve the effectiveness of existing data-flow testing criteria for context-aware pervasive software. In addition, test suites with higher context diversity are found to execute significantly longer paths, which may provide a clue that reveals why context diversity can contribute to the improvement of effectiveness of test suites. © 2014 ACM.postprin

    Inter-context control-flow and data-flow test adequacy criteria for nesC applications

    Full text link
    NesC is a programming language for applications that run on top of networked sensor nodes. Such an application mainly uses an interrupt to trigger a sequence of operations, known as contexts, to perform its actions. However, a high degree of inter-context interleaving in an application can cause it to be error-prone. For instance, a context may mistakenly alter another context’s data kept at a shared variable. Existing concurrency testing techniques target testing programs written in general-purpose programming languages, where a small scale of inter-context interleaving between program executions may make these techniques inapplicable. We observe that nesC blocks new context interleaving when handling interrupts, and this feature significantly restricts the scale of inter-context interleaving that may occur in a nesC application. This paper models how operations on different contexts may interleave as inter-context flow graphs. Based on these graphs, it proposes two test adequacy criteria, one on inter-context data-flows and another on inter-context control-flows. It evaluates the proposal by a real-life open-source nesC application. The empirical results show that the new criteria detect significantly more failures than their conventional counterparts

    Context-driven methodologies for context-aware and adaptive systems

    Get PDF
    Applications which are both context-aware and adapting, enhance users’ experience by anticipating their need in relation with their environment and adapt their behavior according to environmental changes. Being by definition both context-aware and adaptive these applications suffer both from faults related to their context-awareness and to their adaptive nature plus from a novel variety of faults originated by the combination of the two. This research work analyzes, classifies, detects, and reports faults belonging to this novel class aiming to improve the robustness of these Context-Aware Adaptive Applications (CAAAs). To better understand the peculiar dynamics driving the CAAAs adaptation mechanism a general high-level architectural model has been designed. This architectural model clearly depicts the stream of information coming from sensors and being computed all the way to the adaptation mechanism. The model identifies a stack of common components representing increasing abstractions of the context and their general interconnections. Known faults involving context data can be re-examined according to this architecture and can be classified in terms of the component in which they are happening and in terms of their abstraction from the environment. Resulting from this classification is a CAAA-oriented fault taxonomy. Our architectural model also underlines that there is a common evolutionary path for CAAAs and shows the importance of the adaptation logic. Indeed most of the adaptation failures are caused by invalid interpretations of the context by the adaptation logic. To prevent such faults we defined a model, the Adaptation Finite-State Machine (A-FSM), describing how the application adapts in response to changes in the context. The A-FSM model is a powerful instrument which allows developers to focus in those context-aware and adaptive aspects in which faults reside. In this model we have identified a set of patterns of faults representing the most common faults in this application domain. Such faults are represented as violation of given properties in the A-FSM. We have created four techniques to detect such faults. Our proposed algorithms are based on three different technologies: enumerative, symbolic and goal planning. Such techniques compensate each other. We have evaluated them by comparing them to each other using both crafted models and models extracted from existing commercial and free applications. In the evaluation we observe the validity, the readability of the reported faults, the scalability and their behavior in limited memory environments. We conclude this Thesis by suggesting possible extensions
    corecore