ArticlePDF Available

Systematically Testing a Real-Time Operating System

Authors:

Abstract

Testing large and complex software is an inherently difficult process that must be as systematic as possible to provide adequate reliability and quality assurance. This is particularly true for a complex real-time operating system in which an ad hoc testing approach would certainly fail to affirm the quality and correctness of the requirements specification, design, and implementation. We discuss applying systematic strategies to the testing of real-time operating system RTOS under development in the Esprit III project 8906 OMI/CLEAR
... Within software lifespan, program testing is one of most important activities since fulfillment of specification requirements, design and application must be checked out. According to Mantos [2], big software producers spend about 40% of time for program testing. In order to test large and complicated programs, testing must be as systematic as possible. ...
... Tsoukarellas, Manthos A. and colleagues published a systematic strategy for testing of real-time operating system [4]. The test consist of black-box testing and white-box testing. ...
Article
Full-text available
There exist many varieties of Real-Time Operating System (RTOS) in the market, most of them are software based while some are hardware based. During the selection of RTOS, we often need to know the performance of RTOS to ensure it meets the requirements of the real-time system we are designing. Not all RTOS provides specification or data that is useful for consideration or calculation. This paper proposed a set test methodology for designer to quickly measure the performance of a RTOS. The test methodology proposed in this paper covering parameters that are practically useful for real-time system designer to be used for RTOS selection judgment or improvement. These parameters includes computing process overhead, task level interrupt latency, intertask communication & synchronization latency and performance jitter.
Article
A real-time operating system (RTOS) is an operating system designed to meet certain real-time requirements. It is widely used in embedded applications, and its correctness is safety-critical. However, the validation of RTOS is challenging due to its complex real-time features and large code base. In this paper, we propose Rtkaller , a state-aware kernel fuzzer for the vulnerability detection in RTOS. First, Rtkaller implements an automatic task initialization to transform the syscall sequences into initial tasks with more real-time information. Then, a coverage-guided task mutation is designed to generate those tasks that explore more in-depth real-time related code for parallel execution. Moreover, Rtkaller realizes a task modification to correct those tasks that may hang during fuzzing. We evaluated it on recent versions of rt-Linux, which is one of the most widely used RTOS. Compared to the state-of-the-art kernel fuzzers Syzkaller and Moonshine, Rtkaller achieves the same code coverage at the speed of 1.7X and 1.6X, gains an increase of 26.1% and 22.0% branch coverage within 24 hours respectively. More importantly, Rtkaller has confirmed 28 previously unknown vulnerabilities that are missed by other fuzzers.
Conference Paper
In this paper, we firstly introduce the path analysis of tracking robot, and then introduce the advantages of immune genetic algorithm (IGA). Thirdly, we combine immune genetic algorithm and OTSU threshold method to segment path of tracking robot. Because of the nonlinear solving process of immune genetic algorithm, for each chromosome, the solution of fitness function is separated. And the genetic algorithm is independent of each other, which is suitable for parallel computing and satisfy real time requirements. So OTSU combined with immune genetic algorithm not only improve the segmentation performance, but also enhance the computing speed of the algorithm. At last, the experiment results demonstrate the effectiveness of the algorithm.
Article
The implementation of debug function of MPSoC from the software point of view is discussed. The debug management module is set up in RTOS to implement debug function via constructing debug process. The debug management module includes the specification of debug command set, the input and output part and command execution part. RTOS hosts on the main control chip. The command execution part can be placed on the different processors to implement the debug function for the program executed on these processors. To ensure the correct execution of RTOS, the RTOS itself is debugged firstly with the help of EJTAG hardware module, and the software RDView is developed. The debug management module in RTOS can debug the execution of program on the same processor and on different processors. The software-based debug function for embedded MPSoC has been implemented at the cost of a little memory.
Article
Path recognition is an inevitable core technology in the development of tracking robot. In this paper, the path tracking system of tracking robot can be realized by image sensor module based on camera to obtain lane image information, and then extract the path through visual servo. The whole system can be divided into seven modules: micro control unit (MCU) processor module, image acquisition module, debugging module, motor drive module, servo drive module, speed sensor module, and voltage conversion module. In image pre-processing part, there is an introduction of binarization processing and the median filtering to strengthen the image information. About recognition algorithm, three key variables which are changed in the movement state are discussed and there are also many auxiliary algorithms that help to improve the path recognition. The experiment can verify that the whole system can accurately abstract the black guide lines from the white track and make the robot moving fast and stable by following the road parameters and conditions.
Article
The use of a Real-Time Operating System (RTOS) is now quite common in embedded systems because of the requirement for multi-tasking. We present the details of our port of the popular MicroC/OS-II RTOS to an avionics platform based on a PowerPC 7410 processor with multiple peripherals including RS422, MIL1553, digital IO and timers. Also, the systematic testing that we have carried out to validate the port is also presented. Further, detailed performance measurements have been carried out, and we also compare the performance of our MicroC/OS-II port with that of RT-Linux on the same platform.
Conference Paper
One of oldest and best-known methods used in constructive testing of smaller programs is the symbolic program execution. It is partly similar to method of simulation of computer function, but differs in aim. One of ways to prove whether given program is written correctly is to execute it symbolically. Aim of this paper is to test ramified program structure using single symbolic set of inputs, in one passage through resolution procedure, by obtaining all possible outputs from program tested. Ramified program may be translated into declarative shape, i.e. into a clause sequence, and this translation may be automated. Method comprises of transformation part and resolution part. In transformation part models for translation of ramified structures into a declarative shapes of clause sequence were described, as well as program implementation of these transformations for Pascal programs. Obtained clause sequence is the input in resolution part in BASELOG system. Single-passage of a procedure is justified, based on OL-resolution with marked literals, which within BASELOG system gives all possible outputs in symbolic form, together with paths leading to them. Illustrative examples are given, being realized in prolog-like LP-language, with no restrictions to Horn's clauses and without final failure. It is shown how the Pascal-program is being executed into proffer of LP-system.
Conference Paper
Full-text available
The process of guaranteeing that real-time software will meet its timing requirements, is referred to as schedulability analysis. In this paper an implementation independent schedulability analysis tool (SAT) for real-time applications is presented and the supported analysis methods are discussed. SAT can be used during the initial stages of the design phase when the effects of the operating system or the runtime system are not considered. However, the methods supported by the tool are based on an event-action framework and thus, new events or actions introduced by the underlying software can also be evaluated and included in the performed analysis
Book
Despite its increasing importance, the verification and validation of the human-machine interface is perhaps the most overlooked aspect of system development. Although much has been written about the design and developmentprocess, very little organized information is available on how to verifyand validate highly complex and highly coupled dynamic systems. Inability toevaluate such systems adequately may become the limiting factor in our ability to employ systems that our technology and knowledge allow us to design. This volume, based on a NATO Advanced Science Institute held in 1992, is designed to provide guidance for the verification and validation of all highly complex and coupled systems. Air traffic control isused an an example to ensure that the theory is described in terms that will allow its implementation, but the results can be applied to all complex and coupled systems. The volume presents the knowledge and theory ina format that will allow readers from a wide variety of backgrounds to apply it to the systems for which they are responsible. The emphasis is on domains where significant advances have been made in the methods of identifying potential problems and in new testing methods and tools. Also emphasized are techniques to identify the assumptions on which a system is built and to spot their weaknesses.
Article
Real-time debug and test is still a “lost world” compared to the “civilization” developed in other areas of software, says Robert L. Glass. From a survey of current practice across several projects and companies, he defines a state of the art for this problem area and suggests improvements which will ease the practitioner's task.
Article
The concept of domain testability of software is defined by applying the concepts of observability and controllability to software. It is shown that a domain-testable program does not exhibit any input-output inconsistencies and supports small test sets in which test outputs are easily understood. Metrics that can be used to assess the level of effort required in order to modify a program so that it is domain-testable are discussed. Assessing testability from program specifications and an experiment which shows that it takes less time to build and test a program developed from a domain-testable specification than a similar program developed from a nondomain-testable specification are also discussed.< ></ETX
Article
Bibliogr. na konci kapitol a s. 459-530
Article
The futility of using a general-purpose metric to characterise `the' complexity of a program has been argued to support the design of specific metrics for the different stages of the software life-cycle. An analysis of the module testing activity is performed, providing evidence of the absurdity of all-purpose metrics, as well as a methodical means with which to measure testing complexity. Several standard metrics are seen to serve as component measures for the intricacies of testing. The methodology is applied to compare traditional and adaptive means of testing. It is shown that previous informal arguments asserting the superiority of adaptive methodologies are formally confirmed
Final Specification for the Real Time Runtime Support for Deeply Embedded Applications
  • C Farris
  • P Petit
C. Farris and P. Petit, "Final Specification for the Real Time Runtime Support for Deeply Embedded Applications," Esprit Project 8906-OMIKLEAR, Tech. Report 4.1.2-01, Etnoteam S p A., Milan, Italy, Dec. 30, 1994.