16,396 research outputs found
Parallel, Cross-Platform Unit Testing for Real-Time Embedded Systems
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
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 /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 5 /D).Comment: 13 pages, 18 figure
Target Directed Event Sequence Generation for Android Applications
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
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
- …