Optimal loop parallelization for maximizing iteration-level parallelism This paper solves the open problem of extracting the maximal number of iterations from a loop that can be executed in parallel on chip multiprocessors. Our algorithm solves it optimally by migrating the weights of parallelism-inhibiting dependences on dependence cycles in two phases. First, we model dependence migration with retiming and formulate this classic loop parallelization into a graph optimization problem, i.e., one of finding retiming values for its nodes so that the minimum non-zero edge weight in the graph is maximized. We present our algorithm in three stages with each being built incrementally on the preceding one. Second, the optimal code for a loop is generated from the retimed graph of the loop found in the first phase. We demonstrate the effectiveness of our optimal algorithm by comparing with a number of representative non-optimal algorithms using a set of benchmarks frequently used in prior work. Chip multiprocessors, such as Intel Dual-Core processors, AMD Phenom processors, IBM Cell processors, ARM11 MPCore processors, TI TMS320DM6467 DaVinci processors and Freescale MSC812x Quad-Core DSP processors, are widely used in both Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. CASES'09, October 11-16, 2009 general-purpose and embedded computing. The importance of harnessing parallelism in programs to fully utilize their computation power cannot be over-emphasized. While programmers can utilize multiple-threaded application development environments to generate coarse-grain parallel programs with thread-level parallelization in practice [29] , loop parallelization at the granularities of loop iterations is generally too hard to be done manually. A lot of automatic loop parallelization techniques have been developed for parallel/vector compilers in the previous work [1, 31, 2, 17, 34, 32, 33] . Based on data dependence analysis, various techniques, such as scalar renaming, scalar expansion, scalar forward-substitution, dead code elimination and data dependence elimination, have been proposed [2, 4, 18] . Most of these techniques, however, focus on instruction-level parallelism. In this paper, we propose an iterationlevel loop parallelization technique that supplements this previous work by enhancing loop parallelism. We target at iteration-level parallelism [3] by which different iterations from the same loop kernel can be executed in parallel.. At the iteration level, based upon the degree of parallelism, loops can be mainly classified into three categories: serial loops (DOSER), parallel loops (DOALL) [13] , and partially parallel loops (DOACR) [10] . Without any loop transformations, all iterations in a DOSER loop must be executed sequentially due to the dependences between successive iterations. For a DOALL loop, all its iterations can be executed in parallel since it exhibits no inter-iteration dependences. In the case of a DOACR loop, its successive iterations can be partially overlapped because of inter-iteration data dependences. In this paper, we focus on maximizing loop parallelism for DOSER and DOACR loops. The main obstacle to their parallelization lies in the presence of dependence cycles, a dependence relation in a set of statements to which the statements are strongly connected via dependence relations [9] .. There have been numerous studies to enhance loop parallelism by exploiting data dependences of dependence cycles [20, 23, 24, 2, 30, 4] . In [20] , a partitioning technique is proposed to group all iterations of a loop together to form a dependence chain if the greatest common divisor of their dependence distances is larger than one. In [23, 24] , cycle-shrinking groups consecutive dependence-free iterations to form the innermost loop kernel of a new set of nested loops. In [27] , cycle-shrinking is generalized to multi-dimensional loops. In [2] , node splitting is used to eliminate anti-or outputdependences by adding new copy statements. In [4] , node splitting is extended to nested loops. In [30] , cycle breaking is used to partition a loop into a series of small loops. Unlike the previous work, this work applies loop transformation to change inter-iteration data dependences so that better loop parallelism can be achieved. In fact, optimal parallelism is guaranteed by the proposed technique in this paper.. In our proposed technique, loop transformation is modeled by retiming [15, 22] . Retiming is originally proposed to minimize the cycle period of a synchronous circuit by evenly distributing registers. It has been extended to schedule data flow graphs on parallel systems in [7, 6, 21] . For loop transformation, retiming is used under the name of "index shift method" for parallelizing nested loops [16] . In [25] , a loop optimization method is proposed to optimize nested loops by combining the index shift method [16] and the generalized cycle shrinking [27] . In [26] , retiming is applied in loop transformation for nested loop fusion. In [11] , a loop transformation technique is proposed in an attempt to fully parallelize an inner loop through retiming an outer loop. Most of the above work focuses on instruction-level parallelism and on loop parallelism. However, none considers DOACR parallelism. To our knowledge, this work is the first to optimally solve the iteration-level loop parallelization problem with dependence migration modeled by retiming.. In this paper, we propose an optimal iteration-level loop parallelization technique with loop transformation to maximize loop parallelism. Our basic idea is to migrate inter-iteration data dependences by regrouping statements of a loop kernel in such a way that the number of consecutive independent iterations is always maximized. We construct a dependence graph to model the data dependences among the statements in a loop and then use retiming to model dependence migration among the edges in the dependence graph. As a result, this classic loop optimization problem is transformed into a graph optimization problem, i.e., one of finding retiming values for its nodes so that the minimum non-zero edge weight in the graph is maximized. To solve the graph optimization problem incrementally, we classify a dependence graph into one of the three types: a DAG (Directed Acyclic Graph), a Cyclic Graph with Single Cycle (CGSC), and a Cyclic Graph with Multiple Cycles (CGMC). This allows us to present our technique in three stages. For DAGs and CGSCs, we give two polynomial algorithms to find their optimal solutions, respectively. For CGMCs, we find their optimal solutions based on an integer linear programming formulation, which can be solved efficiently for the dependence graphs found in real code. Finally, we give a loop transformation algorithm for generating the optimized code for a given loop, including its prologue, loop kernel, and epilogue based on the retiming values for the loop. This paper makes the following contributions:. • We present for the first time an optimal loop parallelization technique for maximizing the number of concurrently executed loop iterations in a DOACR loop.. • We demonstrate the effectiveness of our technique by comparing with a number of representative (non-optimal) techniques using a set of benchmarks that are frequently used in prior work.. The rest of this paper is organized as follows. Section 2 presents some basic concepts about dependence graphs and retiming, formalizes the problem addressed, and gives an overview of our optimal loop parallelization technique. In Section 3, we present our technique incrementally by considering three different types of dependence graphs and presenting three algorithms to find their optimal retiming functions, with each being built on the preceding one. In Section 4, we give an algorithm for generating the optimal code for a loop based on a retiming function. Section 5 evaluates and analyzes the proposed technique against existing loop parallelization techniques. Section 6 concludes and discusses future work. In this paper, we have proposed an optimal two-phase iterationlevel loop parallelization approach to maximize the loop parallelism. In the first phase, we solve the dependence migration problem that is to find a retiming value of each node in a given dependence graph such that the minimum non-zero edge weight in the dependence graph can be maximized. In the second phase, based on the retiming function obtained in the first phase, we proposed a loop transformation algorithm to generate the transformed loop kernel, prologue, and epilogue. We conducted experiments on a set of benchmarks frequently used in iteration-level loop parallelization in the previous work. The results show that our technique can efficiently obtain the optimal solutions and effectively improve loop parallelism compared to the previous work.. There are several directions for future work. First, in the paper, we only discuss how to apply our technique in iteration-level parallelism. In fact, after iterations are parallelized, they can be directly vectorized. How to combine this technique with loop vectorization is one direction for future work. Second, our technique can be applied to optimize the innermost loop for nested loops. It is an interesting problem to extend this approach to solve iteration-level parallelism of nested loops.

O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O


Fabrication of ZnO nanorod-based hydrogen gas nanosensor We report a first work on nanofabrication of hydrogen nanosensor from single ZnO branched nanorods (tripod) using in-situ lift-out technique and performed in the chamber of focused ion beam (FIB) system. Self-assembled ZnO branched nanorod has been grown by a cost-effective and fast synthesis route using an aqueous solution method and rapid thermal processing. Their properties were analyzed by X-ray diffraction, scanning electron microscopy, energy dispersion X-ray spectroscopy, transmission electron microscopy, and micro-Raman spectroscopy. These analyses indicate high quality ZnO nanorods. Furthermore, our synthesis technique permits branched nanorods to be easily transferred to other substrates. This flexibility of substrate choice opens the possibility of using FIB system for handling. The main advantage of the proposed in-situ approach is a controllable lift-out procedure which permitted us to obtain a 90% success rate for building nanodevices. The fabricated nanosensor uses only single self-assembled ZnO branched nanorod (tripod) to gauge the 150ppm H"2 in the air at room temperature. The hydrogen sensitivity is in the range of 0.6-2% depending on which two branches to use. The nanosensor has selectivity against other gases such as O"2, CH"4, CO and LPG, which shows sensitivity of <0.02%. The single ZnO branched nanorod sensor can operate at low power of <[email protected]

O O O O B O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O


Enhancing privacy in public spaces through crossmodal displays The selection of appropriate display technology and interaction techniques relies upon an understanding of the public-private nature of information and the spaces from which it is accessed. We propose a crossmodal ambient display framework that supports multiple users simultaneously accessing in-formation which contains both public and personal elements. Crossmodal ambient displays are multi-user interfaces that facilitate the efficient public access of personalized information, while maintaining the anonymity of each user in physical public spaces. Based on psychological theories of crossmodal attention which characterize human capabilities for matching information picked up by different modalities, the framework takes advantage of both public displays and mobile devices through the use of peripheral cues, and makes possible the integration of multi-task performance and information personalization in public space. The selection of appropriate display technology and interaction techniques relies upon an understanding of the public-private nature of information and the spaces from which it is accessed. We propose a crossmodal ambient display framework that supports multiple users simultaneously accessing in-formation which contains both public and personal elements. Crossmodal ambient displays are multi-user interfaces that facilitate the efficient public access of personalized information, while maintaining the anonymity of each user in physical public spaces. Based on psychological theories of crossmodal attention which characterize human capabilities for matching information picked up by different modalities, the framework takes advantage of both public displays and mobile devices through the use of peripheral cues, and makes possible the integration of multi-task performance and information personalization in public space.Han Cao is a PhD student at the School of Computing Science, Newcastle University.Patrick Olivier is a senior lecturer at the Informatics Research Institute, Newcastle University.Daniel Jackson is a research developer at the Informatics Research Institute, Newcastle University. Abstract. The selection of appropriate display technology and interaction techniques relies upon an understanding of the public-private nature of information and the spaces from which it is accessed. We propose a crossmodal ambient display framework that supports multiple users simultaneously accessing information which contains both public and personal elements. Crossmodal ambient displays are multi-user interfaces that facilitate the efficient public access of personalized information, while maintaining the anonymity of each user in physical public spaces. Based on psychological theories of crossmodal attention which characterize human capabilities for matching information picked up by different modalities, the framework takes advantage of both public displays and mobile devices through the use of peripheral cues, and makes possible the integration of multi-task performance and information personalization in public space.Suggested keywords Significant cultural and social changes are afoot due to the rapid development of information and communication technologies over the past decade. Such innovations (e.g. broadband, wireless technology, ambient intelligence), and the large volumes of unauthorized moment-to-moment transactions of personal data that are inevitably involved, have created a number challenges to our personal privacy and an increasing desire on the part of users to remain anonymous in public (physical and digital) spaces.. The range of information transactions in public spaces that are now considered part of everyday life is extremely wide, for example, drawing cash from an ATM machine, buying from a vending machine (public stationary installations), viewing flight schedules on display boards in an airport, making a private phone call from a burger restaurant, and even searching for keyword on Google using a mobile phone or PDA. Although security software (e.g. firewalls) strives to guard individuals from having their data stolen or from having their activities tracked on the Internet, the fact remains that cases of privacy violation are widespread. High profile cases of surreptitious surveillance cameras placed in washrooms and by ATM machines, have only added to the levels of user anxiety and resistance towards accessing personal information in public space.. Attempts to address these anxieties, and enhance trust, fall into two categories. The first involve the creation of physical, and stationary, private space within a public space (e.g. a telephone booth/box), or stationary private interface (e.g. an ATM machine); the second involves utilizing personal computing devices and interfaces (e.g. mobile phones and PDAs). Such portable or even wearable, computing devices establish apparently private channels and enable the user to access visual information on a handheld display and audio information using headsets. However, both approaches have significant shortcomings. The creation of private spaces while feasible, significantly undermines the "access anywhere" vision of pervasive computing. By contrast, the use of personal displays (though effective for highly sensitive material) serves to alienate users from other occupants of the space in which they reside, as users wander around engrossed in their handheld devices. Other privacy concerns relate to the fact that many pervasive applications require the position of a user to be tracked to facilitate the spatial contextualization of information (e.g. personal navigation aids).. Ambient intelligence encompasses a vision of an everyday environment in which the user will be surrounded by a multitude of interconnected, invisibly embedded systems that are capable of recognizing users and adapting to their preferences. Thus, privacy concerns mixed with trust and identity issues become ever more important and challenging. The selection of appropriate display technology and interaction techniques relies upon an understanding of the public-private nature of information and the spaces from which it is accessed. We propose a crossmodal ambient display framework, a system that supports multiple users simultaneously accessing information which contains both public and personal elements. Crossmodal ambient displays are multi-user interfaces that facilitate the efficient public access of personalized information, while maintaining the anonymity of each user in physical public spaces.. In sections 2, 3 and 4 we categorize information and space in relation to the different levels of privacy that apply. We then review existing technologies that support private information access in public space and argue that past attempts have not adequately addressed privacy concerns in pervasive interfaces. Section 5 describes our proposed solution including an interaction model and a prototype that embodies our notion of a crossmodal ambient display. Wayfinding in unfamiliar indoor environments remains a considerable problem for people. Conventional handheld maps, as well as stationary signs such as poster maps and directional signs, need users to know their positions and destinations in order to formulate their navigation plans. Recent mobile computing proposals and products mostly require that users expend considerable effort attention to a personal display (typically a small screen on a handheld device) or that they listen to verbal instructions. In the former case, users must continuously refer to both their location and the location of their destination both on the electronic map and in the physical environment, which can cause interruptions of the navigation task and may even provoke dangerous situations [15] .. CROSSFLOW is a prototype indoor navigation system based on our notion of a crossmodal ambient display design and embodies our framework for integrating public ambient displays and personal cues across modalities. The prototype is designed for use by a user with a mobile phone inside a large unfamiliar building. The timemultiplexing technique described prompts users as to which directions correspond to their destination of interest. Advantages of such an indoor navigation system include low cost, no requirement for sensing or tracking of users and ease of maintenance of users' privacy. In real world navigation tasks, people often have multiple other tasks to undertake whilst they are navigating (e.g. taking care of children, transporting luggage, making a phone call, or simply just thinking about a problem as they move from one location to another). Few navigation systems aim to support multiple tasks handling during navigation. The fact that users using maps to navigate, or attending to their personal displays, and the use of tracking technology to support mobile navigation systems presents significant security and privacy concerns. In CROSSFLOW a user's access of directions is obscured through the projection of the information into the whole environment (its peripheral nature), tracking is not required, and users are There are many existing systems and man-made constructions that support the maintenance of privacy in a physical public space. For example, the essence of a telephone booth is the creation of a physical private space within a public space, allowing for unhindered and unwatched private information access. An ATM machine on the side of a street provides the user with a stationary private interface. Personal mobile computing devices such as PDAs, mobile phones, MP3 players, digital cameras, and GPS navigators have been successful in solving a variety of privacy problems in the situations we have highlighted. Working as private channels, they support the user in furnishing visually presented information on hand-held displays, and aurally presented information via personal headsets. However, restrictions on the size of such devices place a limit on the amount of information displayed without further interaction. Furthermore, one of the goals of ambient intelligence is to provide users with a heightened sense of place, yet their dependence on a personal device, that demands significant cognitive effort to interact with, is their immersion in the interface of the device rather than their surrounding environment.. Indeed one of the characteristics of many personal navigation solutions based on handheld visual displays (e.g. current consumer mobile GPS navigation systems) is that their users wander around an environment attending to their own devices and are to a significant extent disengaged from the world around them. Handhelds are capable of dealing with variety of contexts in which privacy issues arise, but in many respect fail to maintain the correct balance between the protection of user privacy, and social constraints on behaviour in public spaces.. A number of systems have explicitly attempted to address aspects of the publicprivate divide. Such solutions are generally categorized as visual-based privacyware and audio-based privacyware. Ringel Morris et al [4] identified three broad approaches for accessing private visual data incorporating shared public displays: (1) the use of shutter glasses or head-mounted displays; (2) the use of several smaller, auxiliary displays; and (3) the physical partitioning of a shared space.. Shoemaker and Inkpen [5] proposed an interaction technique that allows private information to be shown within the context of a shared display. Building on single display groupware approaches that utilize conventional large shared displays, the system requires that pairs of users wear specially adapted glasses to view private aspects of the information shown on a shared display. Although the use of either alternating-frame shutter glasses or head-mounted displays is successful in allowing shared and private activities to take place at the same time, such configurations have significant drawbacks, such as limitations on the number of users able to use such systems and a reduction in collaboration between users.. There has also been a significant amount of research into the display of private information to different users through the use of several smaller, auxiliary displays which may network with one or more shared displays [6, 7, 8, 9] . Auxiliary displays allow each user to view and manipulate private information, or to interact with shared ambient displays. However, the requirement that the user look back and forth between the auxiliary and the environmental displays imposes a substantial cognitive load and has been found to result in significant reductions in performance (especially when the users are simultaneously handling multiple tasks). Moreover, although blurring is used to preserve the private sections in symbiotic displays, one still has to look away from public display to examine the personal mobile device, thus revealing to other occupants of the space that he/she is examining private data, and that the display is for him.. Vogel and Balakrishnan [10] developed a framework for sharable, interactive public ambient displays that supports the transition from implicit to explicit interaction with both public and personal information. Their system physically partitions the shared space through the utilization of a marker-based optical motion tracking system and provides four continuous phases with fluid inter-phase transitions. It supports displaying different public-private levels of information for several users each within their own interaction phase. Which level of information is displayed to a user depends on his location and orientation. For example, while gestures from a distance may provide an implicit cue for selecting an item or displaying more detailed descriptions of the notifications; direct touching of the screen is best suited for accurate, up-close interaction. By dividing the physical space into four interaction phases and using transparency, the system allows its users to reach beyond their own space to access information, i.e. see through the semi-transparent message boxes to the public information beneath. However, there remain questions as to the visibility of transparent surfaces and the clarity of the whole information display. Furthermore, the user can not possibly remain anonymous nor occlude the view of their personal information from others.. InfoCanvas [11] was an informative art project in which abstract pictorial representations were mapped to different information sources. The mapping strategy adopted can be seen as a method for private information encoding. The users and the designers can easily redefine and redesign the mapping according to their own needs. The system helps to obscure a user's personal information, however, the 'obscuration' takes effect only when the user interacts with the pictorial interface, and is inaccessible the moment the user leaves the surface to access the information source. The amount of information conveyed by the pictorial representations is significantly limited by the size of the screen and the capacity of a user's working memory.. While tradition single display privacyware (SDP) interfaces [5] attempt to provide users with private sources of visual information within a public context. Ringel Morris et al [4] explored the use of multimodal interfaces by investigating the effect of conveying personalized information to specific users through individual audio channels. The use of one-eared headsets in the system enables both personal information access and group collaboration.

O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A first-class approach to genericity This paper describes how to add first-class generic typesincluding mixins-to strongly-typed OO languages with nominal subtyping such as Java and C#. A generic type system is "first-class" if generic types can appear in any context where conventional types can appear. In this context, a mixin is simply a generic class that extends one of its type parameters, e.g., a class C<T> that extends T. Although mixins of this form are widely used in C++ (via templates), they are clumsy and error-prone because C++ treats mixins as macros, forcing each mixin instantiation to be separately compiled and type-checked. The abstraction embodied in a mixin is never separately analyzed.Our formulation of mixins using first-class genericity accommodates sound local (class-by-class) type checking. A mixin can be fully type-checked given symbol tables for each of the classes that it directly references-the same context in which Java performs incremental class compilation. To our knowledge, no previous formal analysis of first-class genericity in languages with nominal type systems has been conducted, which is surprising because nominal subtyping has become predominant in mainstream object-oriented programming languages.What makes our treatment of first-class genericity particularly interesting and important is the fact that it can be added to the existing Java language without any change to the underlying Java Virtual Machine. Moreover, the extension is backward compatible with legacy Java source and class files. Although our discussion of a practical implementation strategy focuses on Java, the same implementation techniques could be applied to other object-oriented languages such as C# or Eiffel that support incremental compilation, dynamic class loading, and nominal subtyping. * Static type systems with nominal subtyping (as in C++, Eiffel, Java, and C#) have been predominant in mainstream object-oriented languages for over a decade. Yet they have received comparatively little attention from language researchers [16, 24, 18] . Nominal type systems are popular among object-oriented language designers and programmers because they offer some significant advantages over static type systems with structural subtyping. They include:. • simple, intuitive type-checking rules;. • manifest type hierarchies;. • transparent support for mutually recursive data types; and. • easily understood run-time error diagnostics.. Unfortunately, the nominal type systems currently employed in mainstream OO languages are too weak to provide precise type checking. Although Java and C# are type-safe, the imprecision in their type systems often forces programs to perform run-time type checks (casts) which may abort program execution. The biggest weakness in their type systems is the lack of support for generic (parameterized) types. This omission restricts the range of abstractions that programs can express and the precision of static type annotation and checking. The incorporation of generic typing can simplify the structure of many programs, eliminate the need for nearly all explicit type casts, and enable programmers to catch far more bugs at compile time through much more precise static type checking.. Both Java and C# will soon be extended to support generic types [19, 26] , but neither of these extensions is fully firstclass. The forthcoming extension for Java is second-class; it provides no support for operations that require generic type information at run-time. In contrast, C# will support operations that depend on run-time generic type information, but it will not allow the superclass of a generic class to be a type parameter-precluding the definition of mixins.. In this paper, we show how to extend languages like Java and C# to support full first-class genericity including mixins.. In the process, we prove that the resulting type system is sound for a core subset of Generic Java [12] . Moreover, in the case of Java, we show how this extension can be efficiently implemented on top of the existing Java Virtual Machine while retaining compatibility with legacy binaries. To our knowledge, the first reference to mixins in Java occurs in a paper by Agesen, Freund, and Mitchell [1] describing an extension to Java to support genericity via syntactic expansion in the class loader. While the paper mentions that this approach can support mixin constructions, no type system supporting mixins is given and the critical language design issues involved in such a language extension-such as mixin hygiene, the status of abstract methods in mixins, and the definition of mixin class constructors-are not discussed. Since their model for supporting generics is syntactic expansion, they presumably were proposing non-hygienic mixins. In that case, we do not believe that the static type checking of mixins is compatible with the separate class compilation provided by modern compilers for Java and C# because type correctness requires a whole-program analysis to confirm that overridden methods in mixin instantiations have the proper return types.. More recently, two other practical proposals for adding mixins to Java have been published, namely Jam [6] and Jiazzi [20] , but they do not accommodate generic types. Jam is an extension of Java 1.0 developed by Ancona, Lagorio, and Zucca that supports mixin definitions as a new form of toplevel definition supplementing classes and interfaces. Each mixin instantiation is explicitly defined by a special form of class definition that includes the constructors for the new class. Jam is based on a theoretical framework for "mixin modules" described in [8] . This framework is not hygienic because it provides no mechanism for altering the "view" of a mixin class based on context.. Since the Jam type system lacks the expressiveness of generic types, it must severely restrict the use of this within the body of a mixin. In particular, this cannot be passed as argument to a method. Jam mixins are not hygienic, but programs that perform accidental method overriding with incompatible type signatures are rejected by the type checker.. Jam is implemented by a preprocessor that maps Jam to conventional Java. Since Jam does not support genericity, types cannot flow across a whole program. As a result, Jam can locally type check programs with mixins.. Jiazzi [20] is a sophisticated component system for Java developed by McDirmid, Flatt, and Hsieh that supports component level mixins. Jiazzi is implemented by a linker that processes class files to produce new class files. Using Jiazzi, a programmer can partition a program into components with unresolved references (wires) and define compositions that wire components together. Since Jiazzi is a component system rather than a programming language, it is not directly comparable to MixGen. But Jiazzi supports the definition of mixins that can only be applied at component linking time. In a component, the superclass of a class may be unresolved. 24 Since mixins can only be instantiated in the metalanguage used to wire components together, Jiazzi does not address the same language design issues as MixGen. Since the Jiazzi type system does not support generic types, mixins cannot be assigned precise generic signatures, but this is not an issue in a component system designed for conventional (non-generic) Java. Jiazzi mixins must be hygienic because components only expose selected public methods. In the absence of hygiene, component composition would break component encapsulation. Jiazzi supports mixin hygiene and the static typing of mixins by performing a wholeprogram analysis on a program composition, systematically renaming methods to avoid accidental overriding.. Hygienic mixins were originally developed by Flatt, Krishnamurthi, and Felleisen in a toy language loosely based on Java called MixedJava [16] . MixedJava does not include generic types; mixins are formulated as a separate language construct. Because all mixin instantiations in MixedJava can be determined statically, sound type checking does not require a hygienic semantics. Flatt et al developed a hygienic semantics to support class encapsulation. In MixedJava, all classes are constructed by mixins. To specify both the static types of expressions and the dynamic types of program values, MixedJava uses special type expressions called views that consist of sequences of mixin names. Every value in MixedJava is a pair consisting of an explicit type and an object reference. As a result, there is a fairly high penalty for hygiene in MixedJava: the size of every reference value is doubled. An object o has type T iff T is a segment of the chain of mixins used to form the class of o. Programs can cast a value to a compatible type, creating a new value with the explicit type specified in the cast. where m is in J but n is not. Now consider the class C<C<A>> where A implements J. Let y be an object of class C<C<A>>. In MixGen, casting y to static type C<A> before invoking m ((C<A>)y).m(...) has no effect, because m is overridden in each application of the mixin C in C<C<A>>. The invoked method is the code for m in the second mixin application. Hence, if m subsequently invokes the method n, the static type of this is C<C<A>> implying that the version of n introduced in C<C<A>> will be invoked.. In contrast, the corresponding MixedJava program embeds the type tag C<A> as part of the value of y. Hence, the invocation of n on this in the body of m will dispatch with respect to the type C<A> and invoke the version of n in C<A>. This difference reflects the fact that object views are dynamically attached to objects in MixedJava while they are statically attached to program expressions in MixGen.. In MixGen we can simulate the MixedJava semantics when needed by leveraging genericity to associate a dynamic view with an object of mixin type. In particular, we can parameterize any method that needs a dynamic view of an object by type T and cast the object within the method to type T.. The type system of MixedJava is less expressive than the type system of MixGen because it does not support genericity. In particular, MixedJava does not provide a type for the superclass of a mixin. For example, consider the following mixin, written in MixGen:. class M<T implements I with ... > extends T { ... } If we tried to define a corresponding mixin in MixedJava, we'd be unable to name the type T or M<T> in the body of M. As a result, MixedJava does not support the precise typing of polymorphic recursion or other programming patterns that introduce cycles in the mixin type application graph.. MixedJava is an interesting design study but it does not provide a practical basis for extending existing production run-time systems such as C# or the Java Programming Language. The fact that values are pairs containing a view and an object reference means that every value occupies two machine addresses instead of one, nearly doubling the memory footprint of many applications and significantly slowing computation. In addition, it is not clear how to map MixedJava onto existing run-time systems in a way that preserves compatibility with legacy binary code. Before we discuss how to add first-class genericity to objectoriented languages with nominal subtyping, we need to briefly explain some of the key concepts underlying genericity and subtyping.

O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O


DTRAB: Combating Against Attacks on Encrypted Protocols Through Traffic-Feature Analysis Abstract-The unbridled growth of the Internet and the network-based applications has contributed to enormous security leaks. Even the cryptographic protocols, which are used to provide secure communication, are often targeted by diverse attacks. Intrusion detection systems (IDSs) are often employed to monitor network traffic and host activities that may lead to unauthorized accesses and attacks against vulnerable services. Most of the conventional misuse-based and anomaly-based IDSs are ineffective against attacks targeted at encrypted protocols since they heavily rely on inspecting the payload contents. To combat against attacks on encrypted protocols, we propose an anomaly-based detection system by using strategically distributed monitoring stubs (MSs). We have categorized various attacks against cryptographic protocols. The MSs, by sniffing the encrypted traffic, extract features for detecting these attacks and construct normal usage behavior profiles. Upon detecting suspicious activities due to the deviations from these normal profiles, the MSs notify the victim servers, which may then take necessary actions. In addition to detecting attacks, the MSs can also trace back the originating network of the attack. We call our unique approach DTRAB since it focuses on both Detection and TRAceBack in the MS level. The effectiveness of the proposed detection and traceback methods are verified through extensive simulations and Internet datasets.Index Terms-Computer security, encrypted protocol (cryptographic protocol), intrusion detection system (IDS). C RYPTOGRAPHIC protocols rely upon encryption to provide secure communication between involved parties. A wide range of cryptographic protocols are employed by popular applications and services to ensure data confidentiality, integrity, and authentication. For example, Secure Socket Layer (SSL) and its successor Transport Layer Security (TLS) are extensively used to provide authentication and encryption in Z. M. Fadlullah and N. Kato are with Graduate School of Information Sciences (GSIS), Tohoku University, Sendai 980-8579, Japan (e-mail: zubair@it. ecei.tohoku.ac.jp; kato@it.ecei.tohoku.ac.jp).. T. Taleb is with NEC Europe Ltd., Heidelberg 69115, Germany (e-mail: tarik. taleb@nw.neclab.eu).. A. V. Vasilakos is with Department of Computer and Telecommunications Engineering, University of Western Macedonia, Kozani 50100, Greece (e-mail: vasilako@ath.forthnet.gr).. M. Guizani is with Kuwait University, Safat 13060, Kuwait (e-mail: mguizani@ieee.org).. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org.. Digital Object Identifier 10.1109/TNET. 2009.2039492 order to transmit sensitive data. Secure Shell (SSH) has become highly popular for providing password-based authentication and remote logins. Cryptographic protocols have also been developed for the network level [1] , such as IPSec, which is extensively used in virtual private networks (VPNs). The purpose of all these encrypted protocols is to resist malicious intrusions and eavesdropping. It is, however, ironic that the network services and applications become vulnerable once the underlying encrypted protocols get compromised. The number of attacks against encrypted protocols has increased significantly in recent times. With the evolution of highspeed Internet and processing power, it is only natural to assume that more sophisticated attacks will emerge and pose serious threats to encrypted protocols. For instance, adaptive-chosen cipher-text attacks were considered to be only theoretically possible until 1998, when Daniel Bleichenbacher successfully carried out an attack against systems using RSA encryption in concert with the PKCS #1 v1 encoding function [2] . This raised a huge concern among the networking community since the versions of SSL protocol used by thousands of Web servers were then vulnerable to this type of attack. More innovative attacks like the Bleichenbacher attacks took advantage of flaws within the PKCS #1 function to gradually reveal the content of a RSA encrypted message. Although these attacks involved the transmission of several million trial-and-error-based ciphertexts to the encrypted Web servers, they practically implied that a SSL session key could be exposed in a reasonable amount of time, perhaps a day or less. Later on, the timing attack devised by Boneh and Brumley [3] extracted private keys from an OpenSSL-based Web server in less than 6 h, leading to a fascinating breakthrough in the field of network security. Similar attacks against SSH also came into use, such as Portable OpenSSH PAM timing attacks [4] , in which an attacker could determine the existence of a given login by comparing the time the remote SSHD-daemon took to refuse an invalid password for a nonexistent login to that for a valid login.. As it is evident that these attacks do exist in practice, it is imperative that these threats be detected as early as possible in order to thwart them. Our topic of interest is a distributed detection mechanism that is able to detect the anomalous events as early as possible, especially before significant damage is inflicted on the victim by the attacker. The coordination of distinct agents monitoring the network flows at different points requires an appropriated architecture that must be developed. We address these issues in our paper effectively and attempt to design adequate solutions to these problems. We propose the DTRAB scheme, which is not limited to constructing a defensive mechanism to discover attacks; we devise an aggressive countermeasure that not only detects a potential threat, but also investigates the root of the threat by attempting to trace back the attacker's original network or subnetwork.. The remainder of this paper is organized as follows. Section II surveys some related work on intrusion detection and traceback systems while exploring the shortcomings of these contemporary approaches to deal with cryptographic attacks. Section III at first presents the scope of attacks that may be detectable by DTRAB. In this section, the network topology that may be considered is then provided, which is based upon the monitoring stubs (MSs). The functionality of the MSs in order to detect and trace back the attacks against cryptographic protocols is then illustrated in four modes, namely learning, detection, alert, and traceback phases. The performance of DTRAB is evaluated in Section IV with the aid of simulations. Due to difficulties in obtaining real encrypted traces that are rather sensitive in nature, this section also demonstrates the application of DTRAB for detecting nonencrypted attacks in Internet datasets. Finally, Section V concludes the paper. In this paper, we addressed the online detection of attacks against application-level protocols, which are encapsulated inside encrypted sessions. Experiments carried out in the real data network have provided evidence that implementation of the proposed DTRAB in the monitoring stub (MS) is feasible. DTRAB is autonomous at the MS that carries out the detection, i.e., the detection method does not need information from other MSs. Furthermore, the MS builds the database portraying the normal protocol behavior profile, which is not dependent on the traffic volume. As a result of this design, the proposed detection scheme manages to avoid false alarms during flash crowd. The conducted simulations demonstrate the effectiveness of the detection technique. Our investigations have considered the attack detection delay and the "failed session detection error rate." We have also addressed the problem of tracing back attackers against encrypted protocols based on the correlated attack features at neighboring monitoring stubs.. As an approach of responding to the detected attacks, this work may be extended to selectively slow down the protocol response as long as the Cusum sequence exhibits anomalous behavior. Admittedly, when IPSEC protocol is employed by end-hosts through a secure tunnel, the transport layer headers may be encrypted and not visible to the MSs. Our future extensions to this work will consider how DTRAB may overcome such issues. The further extensions of our work may also facilitate combating against attacks on encrypted protocols in the wireless network environment.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Channels that Heat Up This work considers an additive noise channel where the time-k noise variance is a weighted sum of the channel input powers prior to time k. This channel is motivated by point-to-point communication between two terminals that are embedded in the same chip. Transmission heats up the entire chip and hence increases the thermal noise at the receiver. The capacity of this channel (both with and without feedback) is studied at low transmit powers and at high transmit powers.At low transmit powers, the slope of the capacity-vs-power curve at zero is computed and it is shown that the heating-up effect is beneficial. At high transmit powers, conditions are determined under which the capacity is bounded, i.e., under which the capacity does not grow to infinity as the allowed average power tends to infinity. Thermal heating in electronic systems is strongly related to performance limitation, aging, reliability and safety issues. High performance-density and small physical size (area or volume) make thermal heating important and challenging to address. This is enhanced by the trend of modern (micro-)electronics technology to pack more and faster operations within the smallest possible physical area in order to increase performance, reduce cost and size, and therefore expand the potential applications of the product and make it more profitable.. Electrical power dissipation into heat raises the local temperature of the circuit; more accurately, the temperature depends on the circuit activity. The temperature influences the power of the intrinsic noise in the circuit which in turn reduces the effective communication or computation capacity of the circuit. This "negative" performance feedback is expected to become a bottleneck of future technology [1] , [2] .. This work aims to add this dimension to our understanding of the coupling mechanism between communication and computation performance and thermal heating. To this end a class of communication channels is introduced, where the channel's noise power depends dynamically on the channel's activity, and its channel capacity is studied.. To support the previous statements and motivate the mathematical development of this new class of channels we first discuss the underlying physical mechanism that connects circuit activity with power consumption and thermal heating. Thermal heating is unavoidable in electronic circuits. Every circuit block converts part of the power it draws from the power supply network (and to certain extent from its interconnections with other blocks) into heat which raises the local temperature.. A circuit block in a microchip occupies certain physical space within which heat is distributively generated and diffused according to the heat diffusion equation (ignoring other heat sources). The material in this paper was presented in part at the 2007 IEEE International Symposium on Information Theory (ISIT), Nice, France, and at the 2007 IEEE Information Theory Workshop (ITW), Lake Tahoe, CA, USA.. where C hv is the volumetric heat capacity of the material, ∂T /∂t is the change in temperature over time, ∇· is the divergence, ρ thd is the distributed thermal resistance, ∇T is the temperature gradient, and E ′ is the power density of the added heat, [3] , [4] . In many cases the diffusion equation can be replaced by the corresponding ordinary differential equation (ODE) that provides a lumped model of the thermal dynamics. Consider for example a microchip (die), made out of material of lower thermal resistance, which is internally heated by the activity of circuits and transfers the heat to the environment (e.g., air) which has much higher resistance. In this case we can write. where C h is the heat capacity of the microchip (die), ρ th is the thermal resistance between the die and the environment (e.g., air), T e is the temperature of the environment, and E is the instantaneous heat generated, i.e., the electrical power converted into heat by the circuit. Solving (2) with the assumption that at time t = 0 we have T = T e with T e being fixed, we obtain. If the circuit operates based on a reference clock of period τ , (3) can be approximated by its discrete version. where Z + denotes the set of positive integers, and where the sequences {T k } and {E k } are the samples at integer multiples of τ of T (·) and E(·), respectively. Equation (4) shows the fading memory effect of temperature. Note that (4) also captures discrete versions of distributed or higher order lumped approximations of the diffusion equation (1) .. Every electronic circuit has some intrinsically generated noise. This noise is added to the received signal degrading its quality. Especially in the popular class of circuits based on MOS transistors [5] , this noise is dominated by a thermal noise component that is stationary Gaussian, and in most applications it can be considered white. The variance of the thermal noise N follows the Johnson-Nyquist formula. where W is the considered bandwidth, T is the temperature of the receiver circuit block, and λ is a proportionality constant [5] , [6] , [7] . The transmission of information is typically associated with dissipation of energy into heat. Thus, in view of (4) and (5) , this motivates a channel model where the variance θ 2 of the additive noise is determined by the history of the power of the transmitted signal, i.e., . where x ℓ is the transmitted symbol at time ℓ ∈ Z + , and where σ 2 and {α ℓ } will be defined in Section 2.. The rest of this paper is organized as follows. Section 2 describes the channel model in more detail. Section 3 discusses channel capacity and lists some important properties thereof. The main results are presented in Section 4. The proofs of the results are given in Sections 5 and 6. Section 7 concludes with a summary. An example for a heat dissipation profile that satisfies (9) is the geometric heat dissipation profile where {α ℓ } is a geometric sequence, i.e.,. for some 0 < ρ < 1. The heat dissipation depends inter alia on the efficiency of the heat sink that is employed in order to absorb the produced heat. In the above example (10), the heat sink's efficiency is described by the parameter ρ: the smaller ρ, the more efficient the heat sink. In general, an efficient heat sink is modeled by a heat dissipation profile for which the sequence {α ℓ } decays fast.. We study the above channel under an average-power constraint on the inputs, i.e., the mappings φ n (without feedback) and ϕ (1) n , . . . , ϕ (n) n (with feedback) are chosen such that-averaged over the message M and channel outputs Y n 1 -the sequence X n 1 satisfies. and we define the signal-to-noise ratio (SNR) as. Remark 1. The results presented in this paper do not change when (11) is replaced by a permessage average-power constraint, i.e., when the mappings φ n and ϕ. are chosen such that, for each message m ∈ M and for any given sequence of output symbols Y. Indeed, all achievability results (which are based on schemes that ignore the feedback) are derived under (13) , whereas all converse results are derived under (11) . Since all mappings φ n and ϕ. n that satisfy (13) also fulfill (11) , this implies that the achievability results as well as the converse results derived in this paper hold irrespective of whether constraint (11) or (13) is imposed. We studied a model for on-chip communication with nonideal heat sinks. To account for the heating up effect we proposed a channel model where the variance of the additive noise depends on a weighted sum of the past channel input powers. The weights characterize the efficiency of the heat sink.. To study the capacity of this channel at low SNR, we computed the capacity per unit cost. We showed that the heating effect is not just unharmful but can be even beneficial in the sense that the capacity per unit cost can be larger than the capacity per unit cost of a corresponding channel with ideal heat sink, i.e., where the weights describing the dependency of the noise variance on the channel input powers are zero. This suggests that at low SNR no heat sinks should be used.. Studying capacity at high SNR, we derived a sufficient condition and a necessary condition on the weights for the capacity to be bounded in the SNR. We showed that when the sequence of weights decays not faster than geometrically, then capacity is bounded in the SNR. On the other hand, if the sequence of weights decays faster than geometrically, then capacity is unbounded in the SNR. This result demonstrates the importance of an efficient heat sink at high SNR.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O B I I I O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Decomposing Bent Functions In a recent paper , it was shown that the restrictions of bent functions to subspaces of codimension 1 and 2 are highly nonlinear. Here, we present an extensive study of the restrictions of bent functions to affine subspaces. We propose several methods which are mainly based on properties of the derivatives and of the dual of a given bent function. We solve an open problem due to Hou . We especially describe the connection, for a bent function, between the Fourier spectra of its restrictions and the decompositions of its dual. Most notably, we show that the Fourier spectra of the restrictions of a bent function to the subspaces of codimension 2 can be explicitly derived from the Hamming weights of the second derivatives of the dual function. The last part of the paper is devoted to some infinite classes of bent functions which cannot be decomposed into four bent functions.

O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I


Entanglement in a Dimerized Antiferromagnetic Heisenberg Chain The entanglement properties in an antiferromagnetic dimerized Heisenberg spin-1/2 chain are investigated. The entanglement gap, which is the difference between the ground-state energy and the minimal energy that any separable state can attain, is calculated to detect the entanglement. It is found that the entanglement gap can be increased by varying the alternation parameter. Through thermal energy, the witness of the entanglement can determine a characteristic temperature below that an entangled state can be obtained. The entanglement detected by the energy can provide a lower bound for that determined by the concurrence. If the alternation parameter is smaller than a critical value, there is always no inter-dimer entanglement in the chain. The quantum entanglement is considered as key resources of quantum information processing [1, 2] . The property of entanglement plays an essential role in understanding and quantifying the physical systems [3] [4] [5] [6] [7] [8] [9] . In recent years, some useful measures of entanglement have been proposed. The entropy of entanglement is used to qualify the entanglement of pure states [3] while the entanglement of formation is one measure for mixed states [4] .. The entanglement in optical systems has been theoretically analyzed and observed [5] [6] [7] [8] [9] .. For further developing the experimental detection, the separability criterion [10, 11] was suggested. On this basis, the thermal energy [12, 13] , the magnetization [14] and the susceptibility [15] have been used as entanglement witness [16] to detect the entanglement. If the expected value of the witness is negative, an entangled state could be obtained. These measurements can provide an intuitive way to evaluate the quantum entanglement. With the help of these measurements, it is possible to find some entangled systems suitable for quantum computation and quantum communication [17] . Recently, much interest has been focused on the entanglement in solid-state systems [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] . The spin chain is one kind of entangled systems in condensed matters. The entanglement has been observed experimentally in Heisenberg spin chains [18] . The dependence of entanglement on the external magnetic field [19] and anisotropy [20] has been investigated. The frustration [21, 22] and arbitrary spin-s Heisenberg chain [23, 24] were considered. Some interesting effects were discussed concerning the relation of entanglement with correlation [25] and quantum phase transition [26, 27] . The dimerized spin chain is another essential sort of spin models in many real solids.. It is often used as a model to explain thermodynamical properties of many substances [28] .. It is interesting to note that there is the same structure of phase diagrams in the antiferromagnetic dimerized Heisenberg spin-1/2 and uniform spin-1 chains [29] . The model belongs to quasi one-dimensional magnets of spin-ladder systems with even number of coupled spin chains [30] . Therefore, it is necessary to evaluate and detect the quantum entanglement in alternating spin chains.. In this paper, the entanglement in an antiferromagnetic dimerized Heisenberg spin chain is investigated. In Sec. II, the energy is introduced as a witness for the detection of the dimer entanglement. The characteristic temperature for the presence of the dimer entanglement is derived. The entanglement gap is introduced to evaluate the entanglement for a chain with large number of spin dimers. The upper bound to the entanglement gap is derived.. In Sec. III, the relation of the entanglement witness and concurrence is deduced. As an example, the four-spin dimerized chain with two dimers is analyzed in detail. The limit cases are discussed when the alternation parameter equals to zero or one. A brief discussion concludes the paper. The entanglement in the antiferromagnetic dimerized Heisenberg spin-1/2 chain is analyzed. The entanglement gap g E can be increased if the alternation parameter α = 0.7. If there is a large number of dimers in the chain, the characteristic temperature T c determined by the entanglement witness is decreased to a constant value. The entanglement can be detected below a certain temperature in real solids. The relation of the witness and the concurrence is also derived. The energy as the entanglement witness can provide a lower bound for the dimer entanglement. In the limit of α = 0 or 1, both of the witness and the concurrence are equivalent to detect the entanglement. It is also found that there is no inter-dimer entanglement when the alternation parameter is smaller than a critical value.. These results may be helpful for the further study of solid-state quantum communication and computation. The antiferromagnetic alternating Heisenberg spin-1/2 chain can be described by spin dimers. The spin dimer is labelled by an elliptical box. The solid line represents the dimer interaction and the dash line denotes the inter-dimer interaction.

O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Test overlay in an emerging software product line - An industrial case study Context: In large software organizations with a product line development approach, system test planning and scope selection is a complex task. Due to repeated testing: across different testing levels, over time (test for regression) as well as of different variants, the risk of redundant testing is large as well as the risk of overlooking important tests, hidden by the huge amount of possible tests. Aims: This study assesses the amount and type of overlaid manual testing across feature, integration and system test in such context, it explores the causes of potential redundancy and elaborates on how to provide decision support in terms of visualization for the purpose of avoiding redundancy. Method: An in-depth case study was launched including both qualitative and quantitative observations. Results: A high degree of test overlay is identified originating from distributed test responsibilities, poor documentation and structure of test cases, parallel work and insufficient delta analysis. The amount of test overlay depends on which level of abstraction is studied. Conclusions: Avoiding redundancy requires tool support, e.g. visualization of test design coverage, test execution progress, priorities of coverage items as well as visualized priorities of variants to support test case selection. In large software organizations with a product line development approach, selective testing of product variants is necessary in order to keep pace with the available time to market for new products. The number of testing combinations in such variability-intensive contexts is extensive, since testing is repeated across three dimensions [17] : 1) the traditional testing at different levels of abstraction (unit, integration, system etc.), 2) regression testing as the system evolves over time, and 3) testing over different product variants, sharing a common code base, see Figure 1 . This entails a high risk of redundancy in the testing and also the reverse, that important aspects of the differences between the tested versions and variants are overlooked. One of the major challenges in testing a software product line (SPL) is the balancing of testing efforts across these three dimensions [7] .. To handle the combinatorial explosion of possible tests in software product line development, regression testing approaches are suggested to be applied not [17] : testing within different test activities (e.g. unit tests, integration tests and system tests), testing across versions (e.g. the continuous software updates), testing of multiple variants (e.g. adaptations to different hardwares). Testing at different levels covers the system from different perspectives (e.g. expectations, different types and detail levels of requirements, design or code). . only to versions but also to variants [7] . Regression test selection strategies aim at optimizing the testing after a change by focusing the testing on parts that may have been affected by a change.. We study the amount of test overlay (i.e. multiple tests of the same entity) and the extent to which it is redundant (i.e. one could be replaced by the other) in a large-scale real life software product line development context. An in-depth case study was launched including both qualitative and quantitative observations. Recent systematic literature reviews on regression testing have indicated the lack of industrial case studies [9, 24] . Most studies are done in the small, and hence questions of scalability and usability are left unanswered [9] . We aimed to bridge the gap between research and practice, for which a better understanding of the real-life context is needed, and thus we launched a case study [18] .. The studied case is the testing in the case company's development of Android embedded devices. For the in-depth analysis, the testing of one function is studied. The function exists in several product variants, depends on hardware variants, evolves in different versions over time, and is adapted to continuous upgrades of the Android platform. The development organization is complex, involving a globally distributed development, and the market situation involves delivery of tailored product variants to customers, based on varying market and country specifications. From a business perspective a product line strategy is in place. However, the technical and methodological benefits of the systematic reuse are not yet fully exploited, hence we call it an emerging product line.. The focus in this study is on manual testing of functional and quality requirements, since this is the most personnel resource demanding testing. Manual testing is characterized by a higher degree of creativity for the tester and less detailed documentation, although some general principles on test redundancy are shared with automated testing. Relations between different test executions and implicit testing goals are identified and expressed in terms of coverage items (CovI:s), capturing different levels of abstraction with respect to functionality as well as different purposes of tests. For the assessment of coverage and overlay, a method for visualization of test execution progress is proposed and illustrated.. To our knowledge, no exploratory case studies of test overlay in a variabilityintensive context have been reported earlier. However, the complexity of the issue is well known and is discussed from many different perspectives: software product line testing [7] , testing incrementally evolving software [11] , testing of component based systems [23] , testing of web based applications [2] and of service oriented architectures [4] , as well as from a configuration management perspective [3, 21] .. The article is organized as follows. Section 2 describes the design of the case study, including the theoretical framework, the case study context and methods used. Analysis criteria for the quantitative assessment of overlay are introduced in Section 3 and the quantitative results are presented in section 4. Quantitative and qualitative results are analyzed in Section 5 (Existence and causes of redundancy) and Section 6 (Visualization). Section 7 concludes the findings of the study. In summary, geographical distribution of testing does not cause test overlay but organizational distribution might do. Poor requirements documentation does not directly cause overlaid testing but poor test documentation might do. Insufficient delta analysis may cause a high degree of overaly within this context.. In summary, the CovI model used in this study may be a useful model for documenting and visualizing test coverage in SPL. The model supports communication through increased transparency and enables relevant views to support test design and test planning decisions. Within this context the model was sufficient for covering the test variability in terms of focus and purpose of tests and it enabled navigation between levels of details which in turn supports communication across organizational levels. Following views would be relevant to provide for the purpose of improving test scope selection within this context: test design coverage and test execution progress, priorities and dependencies between test cases as well as between different test objects. An in-depth case study was launched for the purpose of investigating test overlay in a large-scale SPL context. The SPL testing context under study is complex in terms of the large-scale (millions of lines of code) and variability of the system (realized in hundreds of different system configurations), distributed and parallel development (both geographically and and organizationally), and iterative and agile development process. Testing is repeated in three dimensions: over time (regression testing) in space (variant testing) and over testing levels. Variability is realized at compile time and in runtime.. Conclusions drawn are based on our interpretation of both quantitative and qualitative observations. Following is a list of contributions of this paper:. The amount of overlay was in general large (RQ1) but varied with: different testing levels, different purposes of tests and the different abstraction levels of the coverage analysis. Overlay is measured in terms of repeated executions of tests with respect to coverage items (CovI:s). The CovI:s describe the focus and purpose of the test and enables coverage analysis at different levels of abstraction. The study shows a high degree of both design overlay and execution overlay at all levels of test.. Overlay seems to be caused by several factors such as (RQ2 ):. -Distribution of test responsibilities -Organizational distribution had greater impact than geographical.. -Inconsistent documentation of test cases -The importance of consistency in design and documentation of test cases seems to depend on the size of the test suite and the number of involved test managers. In contrast to the intuition of the practitioners, redundancy in requirements or the absence of a complete requirement specification did not cause design overlay in the testing. -Insufficient delta analysis -Lack of commonality analysis of the variation in space as well as lack of regression analysis of the variation in time were the two main causes of overlaid test executions.. Visual decision support could be provided with (RQ3):. -Visualization of test design coverage -Both focus and purpose of test should be visualized. -Visualization of priorities of coverage items as well as priorities of variants.. -Visualization of aggregated test execution progress.. Testing could be more effective by improving delta analyses of the SPL and with a more consistent way of documenting the work, not saying testing has to be specified in detail up front. Coverage items may be identified post hoc and work as a basis for test progress visualization which in turn could improve test selection decisions.

O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O