16,396 research outputs found

    Parallel, Cross-Platform Unit Testing for Real-Time Embedded Systems

    Get PDF
    Embedded systems are used in a wide variety of applications (e.g., automotive, agricultural, home security, industrial, medical, military, and aerospace) due to their small size, low-energy consumption, and the ability to control real-time peripheral devices precisely. These systems, however, are different from each other in many aspects: processors, memory size, develop applications/OS, hardware interfaces, and software loading methods. Unit testing is a fundamental part of software development and the lowest level of software testing, as it tests individual or groups of functions, methods, and classes, to increase confidence that the developed software satisfies both software specifications and user requirements. Although hundreds of unit testing frameworks exist, none of them address the diverse properties of real-time embedded platforms. This inspires us to introduce XEUnit, a cross-platform unit testing framework for real-time embedded systems. XEUnit provides scalability to the framework by supporting parallel execution on multiple embedded platforms simultaneously. To address the time constraints in real-time embedded systems, we evaluate the impact of runtime overhead from traditional instrumentation through a case study of time-sensitive algorithms. Then, we introduce iterative instrumentation, which is a code coverage technique without runtime overhead, along with a case study demonstrating the effectiveness of this technique. Although iterative instrumentation can measure code coverage effectively in time-sensitive applications, the total execution cost of this approach is much higher than traditional instrumentation due to the execution of multiple variants of the system under test. This leads to scalability and performance issues especially in large applications. To solve these issues, there are two approaches we use: reducing the number of variants and executing them simultaneously. To reduce the number of variants, we present cluster iterative instrumentation, a graph clustering technique that can reduce the number of nodes in a control flow graph resulting in lower execution time. We also provide a case study of node coverage of control software to show the efficiency of cluster iterative instrumentation compared to iterative instrumentation. In addition to reducing the number of variants, the other method is to execute multiple variants at the same time. Because all executions are independent from each other, we can use parallel execution on multiple embedded platforms. Thus, we design and implement a parallel unit testing framework for real-time embedded system along with a case study comparing the execution times from different numbers of embedded platforms (executing nodes). Our final contribution is a cross-platform unit testing framework using the concepts of runtime adapters and a runtime protocol that enables testers to run code across different embedded platforms. We also demonstrate the effectiveness of this framework by testing black-box test cases on seven different embedded platforms. Overall, our results indicate that cluster iterative instrumentation with parallel unit testing can address the scalability and performance issues, and the case studies demonstrate that XEUnit can effectively test the same code on a variety of embedded platforms

    High-contrast imaging at small separation: impact of the optical configuration of two deformable mirrors on dark holes

    Full text link
    The direct detection and characterization of exoplanets will be a major scientific driver over the next decade, involving the development of very large telescopes and requires high-contrast imaging close to the optical axis. Some complex techniques have been developed to improve the performance at small separations (coronagraphy, wavefront shaping, etc). In this paper, we study some of the fundamental limitations of high contrast at the instrument design level, for cases that use a combination of a coronagraph and two deformable mirrors for wavefront shaping. In particular, we focus on small-separation point-source imaging (around 1 λ\lambda/D). First, we analytically or semi-analytically analysing the impact of several instrument design parameters: actuator number, deformable mirror locations and optic aberrations (level and frequency distribution). Second, we develop in-depth Monte Carlo simulation to compare the performance of dark hole correction using a generic test-bed model to test the Fresnel propagation of multiple randomly generated optics static phase errors. We demonstrate that imaging at small separations requires large setup and small dark hole size. The performance is sensitive to the optic aberration amount and spatial frequencies distribution but shows a weak dependence on actuator number or setup architecture when the dark hole is sufficiently small (from 1 to \lesssim 5 λ\lambda/D).Comment: 13 pages, 18 figure

    Target Directed Event Sequence Generation for Android Applications

    Full text link
    Testing is a commonly used approach to ensure the quality of software, of which model-based testing is a hot topic to test GUI programs such as Android applications (apps). Existing approaches mainly either dynamically construct a model that only contains the GUI information, or build a model in the view of code that may fail to describe the changes of GUI widgets during runtime. Besides, most of these models do not support back stack that is a particular mechanism of Android. Therefore, this paper proposes a model LATTE that is constructed dynamically with consideration of the view information in the widgets as well as the back stack, to describe the transition between GUI widgets. We also propose a label set to link the elements of the LATTE model to program snippets. The user can define a subset of the label set as a target for the testing requirements that need to cover some specific parts of the code. To avoid the state explosion problem during model construction, we introduce a definition "state similarity" to balance the model accuracy and analysis cost. Based on this model, a target directed test generation method is presented to generate event sequences to effectively cover the target. The experiments on several real-world apps indicate that the generated test cases based on LATTE can reach a high coverage, and with the model we can generate the event sequences to cover a given target with short event sequences

    Geomagnetism : review 2010

    Get PDF
    The Geomagnetism team measures, records, models and interprets variations in the Earth’s natural magnetic fields, across the world and over time. Our data and expertise help to develop scientific understanding of the evolution of the solid Earth and it’s atmospheric, oceanic and space environments. We also provide geomagnetic products and services to industry and academics and we use our knowledge to inform and educate the public, government and the private sector
    corecore