The paper suggests a VM-based online testing approach in which software testing is piggybacked at runtime on a system that operates to serve actual mission. Online testing in VM is facilitated with a framework that uses persistence service to initialize the testing operation with a consistent system state. The testing operation then runs in an isolated domain which can be scheduled independently of the operating version. Thus, testing operation cannot cause unbounded pause time nor spoil the normal operation. We evaluate the feasibility of schedulable online testing with a prototype developed in MONO CLI (Common Language Infrastructure) and the experiment on the prototype.
Virtual software execution environment, known as Virtual Machine (VM), has been gaining popularity through Java Virtual Machine (JVM) and Common Language Infrastructure (CLI). Given their advantages in portability, productivity, and safety, etc., applying VM to real-time embedded systems can leverage production cost, fast time-to-market, and software integrity. However, this approach can only become practical once the VM operations and application tasks are made schedulable jointly.In this paper, we present a schedulable garbage collection algorithm applicable on real-time applications in CLI virtual machine environment. To facilitate the scheduling of real-time applications and garbage collection operations, we make the pause time due to garbage collection controllable, and the invocation of garbage collection predictable. To demonstrate the approach, a prototype for a schedulable garbage collection has been implemented in CLI execution environment. The garbage collection is carried out by a concurrent thread while meeting a targeted pause time and satisfying the memory requests of applications. A cost model of garbage collection is established based on measured WCET such that the execution time and overhead of garbage collection operations can be predicted. Finally, we illustrate a joint scheduling algorithm to meet the time and memory constraints of real-time systems.
Software testing is one of the most expensive phases in the software life cycle. Even for the best commercial grade software, it seldom contains fewer than 100 faults per million lines of code. These faults result in failures and costs for customers which software manufactures are motivated to avoid. It is not unusual for manufacturers to spend 40% or more of their software budgets on testing in an effort to eliminate these faults. Hence, it is very important to provide a solution, supported by tools, which not only can reduce the cost but also improve the quality.In this paper, we describe our effort in developing an Ada program instrumentation environment, Ada-PINE, for testing real-time Ada programs. This tool can help developers and testers in many ways such as determining how well the software has been tested, displaying the code that has not been executed, and improving the code coverage in the most effective way. It can also conduct test set minimization with respect to code coverage and select effective fault-revealing regression tests.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.